Excel e gli applicativi Microsoft Office Utilizzo di Do…Loop Until

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #3169 Score: 0 | Risposta

    Arianna
      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 Integer
      A = Cells(1, 1)
      B = Cells(3, 1)
      A = 0
      Do
      A = i + 1
      Loop Until B = 10
      End Sub
       
      Potreste per favore aiutarmi a capire cosa sbaglio? Grazie mille!!!
       
      #3178 Score: 0 | Risposta

      Marius44
      Moderatore
        58 pts

        Salve Arianna
        Vorrei che tu leggessi, riga dopo riga, il codice che hai postato

        Sub 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 Variant

        A = 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 è 1

        Loop 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,
        Mario

        #3195 Score: 0 | Risposta

        patel
        Moderatore
          51 pts
          Quando 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 Integer
          A = 0
          C = 5
          B = 10
          Do
             A = A + 1
          Loop Until A + C = B
          MsgBox (A)
          End Sub
          Lanciando la macro con F8 (step by step)  puoi seguire il flusso delle istruzioni e posizionando il mouse sopra le variabili controllarne il valore
          #3222 Score: 0 | Risposta

          oregon
            Semplicemente 10-C
          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: Utilizzo di Do…Loop Until
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: