wake-up-neo.com

Wie verkette ich Zellenwerte und Text mithilfe von Excel VBA?

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?

6
xxxRxxx

Cells(2, 5).Value = Cells(2, 1).Value & " - " & Cells(2, 2).Value

6
paul bica

@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.

3
legendjr

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
2
Truongpx