2017-05-26 4 views
1

Ich habe dieses Makro, das Werte von ausgewählten Zellen verkettet und es in ein Eingabefeld einfügt.Excel-Makro-Verkettung Ergebnis geben falsches Endergebnis

Ich kann das letzte Komma vor meiner Klammer des Ergebnisses in dem Eingabefeld nicht entfernen.

Danke für die Hilfe!

Private Sub CommandButton2_Click() 
    Dim celCurrentCell As Range 
    Dim celFirstCell As Range 
    Dim i As Integer 
    Dim txtTempText As String 
    i = 0 
    txtTempText = "" 
    For Each celCurrentCell In Selection 
     If i = 0 Then 
      i = 1 
      Set celFirstCell = celCurrentCell 
     End If 
     txtTempText = txtTempText & celCurrentCell.Value & "','" 
    Next 
    txtTempText = Left(txtTempText, Len(txtTempText) - 1) 

    InputBox "Copier/coller le texte", "Concatenator", "('" + txtTempText + ")" 
End Sub 
+1

Dann noch eine von der Länge subtrahieren: 'Len (txtTempText) - 2' –

Antwort

0
Private Sub CommandButton2_Click() 

    Dim celCurrentCell As Range 
    Dim celFirstCell As Range 
    Dim i As Integer 
    Dim txtTempText As String, sep as string 

    i = 0 
    txtTempText = "" 
    For Each celCurrentCell In Selection 
     If i = 0 Then 
      i = 1 
      Set celFirstCell = celCurrentCell 
     End If 
     txtTempText = txtTempText & sep & celCurrentCell.Value 
     sep = "','" 
    Next 

    InputBox "Copier/coller le texte", "Concatenator", "('" + txtTempText + "')" 


End Sub 
+0

@jeeped - Fertig - dank –

0

Sie Auswahl mehrerer Zellen in einer einzelnen Zeile oder mehrere Zellen in einer einzelnen Spalte Unter der Annahme, entfernt diese die Schleife.

Option Explicit 

Private Sub CommandButton2_Click() 
    Dim strTemp As String, sep As String 

    sep = "','" 
    If Selection.Rows.Count > Selection.Columns.Count Then 
     strTemp = "('" & Join(Application.Transpose(Selection.Columns(1).Value2), sep) & "')" 
    Else 
     strTemp = "('" & Join(Application.Transpose(Application.Transpose(Selection.Rows(1).Value2)), sep) & "')" 
    End If 
    Debug.Print strTemp 

    InputBox "Copier/coller le texte", "Concatenator", strTemp 

End Sub 
+0

Thanx viel es funktioniert perfekt –