2017-10-25 2 views
1

Ich habe zwei Spalten (enthält zuerst den Wert 0, zweite enthält den Wert 1).Verketten von Nullen in VBA

Diese Anweisung gibt 1 und nicht 01

Cells(1, 26).Value = CStr(Cells(1, 24).Value) & CStr(Cells(1, 25).Value) 

Ich möchte, dass sie in der 3. Spalte 01 verketten. Wie mache ich das?

+3

Zum Beispiel: 'Die Zellen (1, 26) .Value = "'" & Cells (1, 24) .Value & Cells (1, 25) .Value' Hinweis, dass MS Excel behandelt "01" als Nummer. Sie müssen ''' am Anfang der Anweisung hinzufügen, um sie in eine Zeichenfolge zu ändern. –

+0

@MaciejLos, Danke, Das hat funktioniert – Sher

+0

Sie sind herzlich willkommen. –

Antwort

5

Wenn Sie einen ganzzahligen Wert in eine Zelle eingeben, wird das Format auf Nummer festgelegt. Sie verwenden können:

Cells(1, 26).NumberFormat = "@" 'This set cell format to Text 
Cells(1, 26).Value = CStr(Cells(1, 24).Value) & CStr(Cells(1, 25).Value) 
+0

Warum verwenden Sie 'CStr()' Funktion, wenn Sie sagen, dass Excel diesen Inhalt als Zeichenfolge behandelt? –

+0

Dies ist der beste Ansatz. Formatieren Sie die Eigenschaft sollte für die Formatierung verwendet werden. Erzwingen Sie keine Literale, um die Daten zu formatieren. – cyboashu

+1

@MaciejLos, wie ich verstehe, müssen Sie 0 in String ändern, denn wenn Sie 2 ganze Zahlen (0 & 1) verketten, wird Ihr Ergebnis 1 (0 wird verloren gehen). –

Verwandte Themen