ich bastel grade daran, ne Formel (Wenn - sonst - dann) per VBA einzugeben. Diese Formel funktioniert auch fehlerfrei, nur ist die Eingabe unendlich langsam (ca. 10000 Zeilen)
Da ich diese und ähnliche Formeln in mehreren Tabellen verwenden will, wäre eine schnellere Eingabe von imensem Vorteil.
Die Formel lautet für Spalte L: "Wenn in Spalte G kein Buchstabe steht, dann nimm den Wert aus Spalte G, sonst wenn in Spalte H ein Buchstabe steht, dann verkette den Wert aus Spalte G und H mit "-" als Trennzeichen, sonst verkette die Werte aus Spalte G und H mit "/" als Trennzeichen"
(siehe untenstehenden Code)
Meine Frage: wie kann ich die Buchstabenreihenfolge (A bis Z) als Variable definieren und wie krieg ich diese Variable in eine ExcelFormel verpackt???
kann mir jemand helfen - ich wäre euch zu ewigen Dank verplichtet.
Gruß
Christoph
Sub Formel_Spalte_L()
'
' Makro: Formel für Spalte L
' Wenn in Spalte G kein Buchstabe steht, dann nimm den Wert aus Spalte G,
' sonst wenn in Spalte H ein Buchstabe steht, dann verkette den Wert aus Spalte G und H mit "-" als Trennzeichen,
' sonst verkette die Werte aus Spalte G und H mit "/" als Trennzeichen.
Dim i As Integer
Dim lR As Integer 'lR: lastRow
Application.ScreenUpdating = False
lR = Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To lR
Cells(i, 12).Select
ActiveCell.FormulaR1C1 = _
"=IF(NOT(OR(RC[-5]=""A"",RC[-5]=""B"",RC[-5]=""C"",RC[-5]=""D"",RC[-5]=""E"" " & _
",RC[-5]=""F"",RC[-5]=""G"",RC[-5]=""H"",RC[-5]=""I"",RC[-5]=""J"",RC[-5]=""K"" " & _
",RC[-5]=""L"",RC[-5]=""M"",RC[-5]=""N"",RC[-5]=""O"",RC[-5]=""P"",RC[-5]=""Q"" " & _
",RC[-5]=""R"",RC[-5]=""S"",RC[-5]=""T"",RC[-5]=""U"",RC[-5]=""V"",RC[-5]=""W"" " & _
",RC[-5]=""X"",RC[-5]=""Y"",RC[-5]=""Z"")),RC[-5] " & _
",IF(OR(RC[-4]=""A"",RC[-4]=""B"",RC[-4]=""C"",RC[-4]=""D"",RC[-4]=""E"" " & _
",RC[-4]=""F"",RC[-4]=""G"",RC[-4]=""H"",RC[-4]=""I"",RC[-4]=""J"",RC[-4]=""K"" " & _
",RC[-4]=""L"",RC[-4]=""M"",RC[-4]=""N"",RC[-4]=""O"",RC[-4]=""P"",RC[-4]=""Q"" " & _
",RC[-4]=""R"",RC[-4]=""S"",RC[-4]=""T"",RC[-4]=""U"",RC[-4]=""V"",RC[-4]=""W"" " & _
",RC[-4]=""X"",RC[-4]=""Y"",RC[-4]=""Z"") " & _
",CONCATENATE(RC[-5],""-"",RC[-4]),CONCATENATE(RC[-5],""/"",RC[-4])))
Next i
Application.ScreenUpdating = True
End Sub