Comment continuer le code sur la ligne suivante dans VBA

Je voudrais taper le forumla mathématique dans le code VBA dont beaucoup de lignes. Je voudrais le diviser en plusieurs lignes. Comment dois-je faire?

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 longue. voudrais de le découper.

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..

30
demandé sur lakesh 2014-04-04 09:37:40

3 réponses

Pour avoir une nouvelle ligne dans le code, vous utilisez _

Exemple:

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

MsgBox a
55
répondu Stokke 2017-11-10 13:46:46
(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 de ms de soutien

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

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

17
répondu helix 2014-04-04 05:46:42

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

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

(à partir de Comment: casser et combiner des instructions dans Code )

En d'autres termes: Chaque fois que l'interprète de rencontres la séquence <space>_<line terminator>, il est ignoré et l'analyse se poursuit sur la ligne suivante. Notez que même ignorée, la suite de ligne agit toujours comme un 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 continuer un commentaire en utilisant un caractère de continuation de ligne.

Pour diviser l'instruction dans votre question en plusieurs lignes, vous pouvez 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 de tête sont ignorés.)

8
répondu IInspectable 2016-01-19 16:50:57