Comment concaténer des cordes en VBA?

cette question provient d'un commentaire sous la rubrique .Formule= en VBA jette une erreur étrange .

j'ai écrit ce programme par tâtonnements donc j'ai naturellement essayé + de concaténer des cordes.

mais & est-il plus correct que + pour les cordes concaténantes?

42
demandé sur Community 2009-11-13 10:31:24
la source

3 ответов

& est toujours "151970920 évalués dans un contexte de chaîne, tandis que + ne peut pas concaténer si l'un des opérandes est pas de chaîne:

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

il s'agit simplement d'une source subtile de bogues potentiels et doit donc être évitée. & toujours signifie "la concaténation de chaîne", même si ses arguments sont non-chaînes:

"1" & "2" => "12"
"1" &  2  => "12"
 1  & "2" => "12"
 1  &  2  => "12"
"a" &  2  => "a2"
93
répondu Joey 2009-11-13 11:04:40
la source

il y a la fonction concaténée. par exemple

=CONCATENATE(E2,"-",F2)
mais l'opérateur & concaténate toujours les cordes. + souvent fonctionnera, mais si il y a un certain nombre dans une des cellules, il ne fonctionnera pas comme prévu.
0
répondu wallyk 2015-08-20 07:41:57
la source

la principale différence (très intéressante) pour moi est que:

"string" & Null -> "string"

alors que

"string" + Null -> Null

mais c'est probablement plus utile dans les applications de base de données comme Access.

0
répondu Patrick Honorez 2018-06-05 18:48:39
la source

Autres questions sur