Come continuare il codice nella riga successiva in VBA

Vorrei tipo matematico forumla in codice VBA che molte linee. Vorrei dividere in diverse linee. Come faccio a farlo?

Per esempio:

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

è molto lungo. vorrei dividere.

Provato questo:

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

Ma non funziona.. Bisogno di una guida su questo..

  • Non importa se il “_” è sulla riga precedente?
InformationsquelleAutor lakesh | 2014-04-04



4 Replies
  1. 66

    Avere carattere di nuova riga nel codice si utilizza _

    Esempio:

    Dim a As Integer
    a = 500 _
      + 80 _
      + 90
    
    MsgBox a
    • C’è qualcosa che può essere utilizzato per l’inizializzazione di matrice? Se c’è un a capo dopo “_”, dà un errore: Dim StringPairs Come Variante <newline> StringPairs = [ {“abc”, “def”}, _<newline> {“123”, “456”}]
  2. 22
    (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)))

    Da ms supporto

    Per continuare una dichiarazione da una riga a quella successiva, tipo uno spazio
    seguita da un carattere di continuazione di riga [il carattere di sottolineatura
    sulla tastiera (_)].

    Si può rompere una linea di un operatore, il separatore di elenco, o periodo.

  3. 12

    In VBA (e VB.NET) il terminatore di linea (carriage return) è utilizzato per segnalare la fine di una istruzione. Alla pausa lunga le istruzioni in diverse linee, è necessario

    Utilizzare il carattere di continuazione di riga, che è un carattere di sottolineatura (_), nel punto in cui si desidera che la linea di rottura. Il carattere di sottolineatura deve essere preceduto da uno spazio, seguito immediatamente da un terminatore di riga (ritorno a capo).

    (Da Come: Interruzione e Combinare Istruzioni in Codice)

    In altre parole: ogni volta che l’interprete incontra la sequenza <space>_<line terminator>, viene ignorato e l’analisi continua alla riga successiva. Nota che anche se ignorato, la continuazione di riga comporta ancora come un segno separatore, quindi non può essere usata nel mezzo del nome di una variabile, per esempio. Inoltre non è possibile continuare un commento utilizzando un carattere di continuazione di riga.

    Per rompere l’istruzione di una domanda in più linee si può fare come segue:

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

    (Leader spazi sono ignorati).

    • Con voto positivo per la spiegazione, oltre a rispondere. Commenti per aggiungere che c’è un passaggio ulteriore, se si sta cercando di rompere una corda. Se si desidera avere una stringa su due linee è necessario chiudere la citazione; aggiungere una e commerciale(&), lo spazio e il carattere di sottolineatura(_); e di iniziare la riga con un’altra citazione. Ricordati di includere uno spazio finale o iniziale di spazio o vi ritroverete con una parola mash dove le due stringhe di join.
  4. 1

    Se si desidera inserire questa formula =SUMIFS(B2:B10,A2:A10,F2) nella cella G2, ecco come ho fatto.

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

    Per dividere una riga di codice, aggiungere una “e commerciale”, lo spazio e il carattere di sottolineatura.

Lascia un commento