web-dev-qa-db-fra.com

Comment continuer le code sur la ligne suivante de VBA

Je voudrais taper le forumla mathématique en code VBA qui contient beaucoup de lignes. Je voudrais le scinder en plusieurs lignes. Comment fait-on ça?

Par exemple:

U_matrix(i, j, n + 1) = k * b_xyt(xi, yi, tn) / (4 * hx * hy) * U_matrix(i + 1, j + 1, n) + (k * (a_xyt(xi, yi, tn) / hx ^ 2 + d_xyt(xi, yi, tn) / (2 * hx)))

est très long. aimerait le diviser.

J'ai essayé ceci:

U_matrix(i, j, n + 1) = k * b_xyt(xi, yi, tn) / (4 * hx * hy) * U_matrix(i + 1, j + 1, n) 
_+ (k * (a_xyt(xi, yi, tn) / hx ^ 2 + d_xyt(xi, yi, tn) / (2 * hx)))

Mais ne fonctionne pas .. Besoin de quelques conseils à ce sujet ..

39
lakesh

Pour avoir une nouvelle ligne dans le code, utilisez _

Exemple:

Dim a As Integer
a = 500 _
  + 80 _
  + 90

MsgBox a
66
Stokke
(i, j, n + 1) = k * b_xyt(xi, yi, tn) / (4 * hx * hy) * U_matrix(i + 1, j + 1, n) + _
(k * (a_xyt(xi, yi, tn) / hx ^ 2 + d_xyt(xi, yi, tn) / (2 * hx)))

à partir du support ms

Pour poursuivre une instruction d'une ligne à l'autre, tapez un espace suivi du caractère de continuation de ligne [le caractère de soulignement de votre clavier (_)] .

Vous pouvez rompre une ligne à un opérateur, un séparateur de liste ou un point .

22
Helix Quar

Dans VBA (et VB.NET), le terminateur de ligne (retour à la ligne) est utilisé pour signaler la fin d'une instruction. Pour fractionner de longues déclarations en plusieurs lignes, vous devez

Utilisez le caractère de continuation de ligne, qui est un trait de soulignement (_), à l'endroit où vous souhaitez que la ligne soit rompue. Le trait de soulignement doit être immédiatement précédé d'un espace et immédiatement suivi d'un fin de ligne (retour à la ligne).

(De Comment: décomposer et combiner des instructions dans le code )

En d’autres mots: chaque fois que l’interprète rencontre la séquence <space> ___ <line terminator>, il est ignoré et l'analyse se poursuit à la ligne suivante. Notez que même si elle est ignorée, la continuation de ligne agit toujours en tant que séparateur de jeton. Elle ne peut donc pas être utilisée au milieu d'un nom de variable, par exemple. Vous ne pouvez pas non plus continuer un commentaire en utilisant un caractère de continuation de ligne.

Pour fractionner la déclaration de votre question en plusieurs lignes, procédez comme suit:

_U_matrix(i, j, n + 1) = _
     k * b_xyt(xi, yi, tn) / (4 * hx * hy) * U_matrix(i + 1, j + 1, n) + _
     (k * (a_xyt(xi, yi, tn) / hx ^ 2 + d_xyt(xi, yi, tn) / (2 * hx)))
_

(Les espaces blancs les plus importants sont ignorés.)

12
IInspectable

Si vous souhaitez insérer cette formule =SUMIFS(B2:B10,A2:A10,F2) dans la cellule G2, voici comment je l’ai fait.

Range("G2")="=sumifs(B2:B10,A2:A10," & _

"F2)"

Pour fractionner une ligne de code, ajoutez une esperluette, un espace et un trait de soulignement.

1
Curt Grasso