› Excel e gli applicativi Microsoft Office › Utilizzo di Do…Loop Until
-
AutoreArticoli
-
Salve a tutti!Premetto che è la prima volta che mi cimento nell'utilizzo di Visual Basic.Vorrei fare un calcolo molto semplice ma che purtroppo mi da' problemi nella lettura del codice (il programma va in crash):- Nella cella (1,1), A, ho inserito una variabile- Nella cella (2,1) c'è una costante C- Nella cella (3,1) c'è la somma tra A e C, che chiamo B.Vorrei utilizzare la funzione Do Loop Until per trovare il valore di A che mi dia 10 in B.Il codice che ho scritto è questo:Sub CicloDo()Dim A, B As IntegerA = Cells(1, 1)B = Cells(3, 1)A = 0DoA = i + 1Loop Until B = 10End SubPotreste per favore aiutarmi a capire cosa sbaglio? Grazie mille!!!
Salve Arianna
Vorrei che tu leggessi, riga dopo riga, il codice che hai postatoSub CicloDo()
Dim A, B As Integer
tralascio di commentare quanto sopra perchè intuitivo tranne una cosa: nella dichiarazione che hai fatto solo B è un integer mentra A non è dichiarata e diventa VariantA = Cells(1, 1)
B = Cells(3, 1)
assegni ad A il valore della cella A1 (riga 1, colonna 1)
assegni a B il contenuto della cella A3 (riga 3, colonna 1)A = 0
poni A = a zero; perchè? cosa vuol dire o cosa vorresti fare?Do
A = i + 1
inizi il cli e poni A = i + 1; credo però che i non ha alcun valore, quindi A è 1Loop Until B = 10
dici di proseguire fino a quando B = 10; ma non vedo in nessun posto una variazione di B.End Sub
Conclusione: ragionaci meglio sopra.
Ciao,
MarioQuando si è proprio a zero come logica di programmazione un esempio è necessario, indipendentemente dal valore delle celle:Sub CicloDo()Dim A As Integer, B As Integer, C As IntegerA = 0C = 5B = 10DoA = A + 1Loop Until A + C = BMsgBox (A)End SubLanciando la macro con F8 (step by step) puoi seguire il flusso delle istruzioni e posizionando il mouse sopra le variabili controllarne il valoreSemplicemente 10-C -
AutoreArticoli
