Ich habe eine sich wiederholende Aufgabe, die ich automatisieren möchte, anstatt ständig die Funktion = Verketten zu verwenden. Hier ist mein Code bisher:
Cells(2, 5).Value = Cells(2, 1).Value&" - "&Cells(2, 2).Value
Leider führt dies zu dem Fehler "Kompilieren: erwartet: Ende der Anweisung", der das "-" hervorhebt. Wie kann ich den Text "-" zwischen diesen beiden Werten einfügen?
Cells(2, 5).Value = Cells(2, 1).Value & " - " & Cells(2, 2).Value
@Joshua hat eine Antwort auf Ihre Situation gegeben. Eine andere, breitere Lösung ist eine, die ich zuvor verwendet habe. Sehen Sie sich die UDF hier kopiert an.
Option Explicit
Function ConcatenateRow(rowRange As Range, joinString As String) As String
Dim x As Variant, temp As String
temp = ""
For Each x In rowRange
temp = temp & x & joinString
Next
ConcatenateRow = Left(temp, Len(temp) - Len(joinString))
End Function
Verwenden Sie dann in Ihrer Excel-Datei diese Formel, wählen Sie den zu verbindenden Zellenbereich aus und geben Sie ihm eine Zeichenfolge (in diesem Fall "-"), um sie dazwischen einzufügen.
Ein Vorschlag für wen brauchen:
Private Sub CommandButton1_Click()
Dim i As Long
Dim j As Long
Dim x As String
i = 1
j = Range("max").Value
x = Cells(i, 2)
For i = 2 To j
x = x & " - " & Cells(i, 2)
Next i
'MsgBox (x)
Range("d1").Value = x
i = 0
End Sub