Ich brauche eine benutzerdefinierte Funktion, um sowohl einen Zellenwert als auch das Quellformat zu kopieren. Ich habe eine Liste von Werten in zwei Spalten. Die erste ist eine Ganzzahl und die zweite Spalte enthält die entsprechenden Textwerte. Zum Beispiel:
A B
--- ----------
1 Mein erster Wert
2 Mein zweiter Wert
3 Mein dritter Wert
Ich möchte den von mir angegebenen Wert nachschlagen, da er den Werten in Spalte A entspricht. Basierend auf der Zeilennummer der Zelle, die mit dem übereinstimmenden Wert in Spalte A gefunden wurde, wird der entsprechende Wert in Spalte B ausgewählt. Dies ist mit dem LOOKUP () - Funktion in Excel. Ich möchte jedoch auch die Textformatierung der Zelle in Spalte B kopieren.
Anfangs bin ich mit einer VBA-Funktion angesprochen worden, aber leider kann eine Funktion die Formatierung einer Zelle nicht ändern. Würde mich über Anregungen freuen.
quelle
Antworten:
quelle
Im Allgemeinen können Funktionen, die in eine Zelle eingegeben werden, die Formatierung der Zelle, in der sie sich befinden, nicht ändern, da die Funktion nicht weiß, in welcher Zelle sich diese befindet. Die einzige Möglichkeit besteht darin, die Adresse der aktuellen Zelle in die Funktion zu übergeben.
Die Funktion würde in Zelle B1 als eingegeben
=LookupWithFormatting(A1, IDSource, TextSource, B1)
.Wenn Sie nicht viele Formate haben, können Sie die bedingte Formatierung verwenden, anstatt eine VBA-Funktion zu schreiben. (Sie benötigen für jeden Wert in Ihrer Nachschlagetabelle ein separates bedingtes Format.)
quelle