Wie kann ich Zeichenfolgen in VBA verketten?


Antworten:


140

&wird immer in einem Zeichenfolgenkontext ausgewertet, +kann jedoch nicht verkettet werden, wenn einer der Operanden keine Zeichenfolge ist:

"1" + "2" => "12"
"1" + 2   => 3
1 + "2"   => 3
"a" + 2   => type mismatch

Dies ist lediglich eine subtile Quelle potenzieller Fehler und sollte daher vermieden werden. bedeutet & immer "String-Verkettung", auch wenn die Argumente keine Strings sind:

"1" & "2" => "12"
"1" &  2  => "12"
 1  & "2" => "12"
 1  &  2  => "12"
"a" &  2  => "a2"

Was ist mit einer zweistelligen Ganzzahl? wie 13 & "2"? wäre das 132?
Adjit

5
@adjit: Ja, das würde es. Das können Sie übrigens ganz einfach testen.
Joey

3

Der Hauptunterschied (sehr interessant) für mich ist:
"string" & Null-> "string"
während
"string" + Null->Null

Aber das ist wahrscheinlich nützlicher in Datenbank-Apps wie Access.


0

Es gibt die Verkettungsfunktion. Zum Beispiel

= CONCATENATE (E2, "-", F2)
Der Operator & verkettet jedoch immer Zeichenfolgen. + funktioniert oft, aber wenn sich in einer der Zellen eine Nummer befindet, funktioniert dies nicht wie erwartet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.