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..
3 réponses
Pour avoir une nouvelle ligne dans le code, vous utilisez _
Exemple:
Dim a As Integer
a = 500 _
+ 80 _
+ 90
MsgBox a
(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)))
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 .
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.)