Condividi tramite

Problema assurdo con i Do/Loop

Anonimo
2013-08-30T10:11:22+00:00

Salve a tutti,

oggi scrivo per un problema abbastanza stupido che non mi sta permettendo di lavorare. Dopo aver importato delle tabelle HTML dal web sul foglio Excel, ho bisogno di immagazzinare questi dati in una matrice per poterli lavorare.

Per fare questo, anzitutto, eseguo un conteggio degli stessi e lo faccio con dei cicli loop. In particolare:

  1. Un primo ciclo Do Until - Loop mi determina il valore della cella da cui iniziare l'immagazzinamento dei dati.
  2. Un secondo ciclo Do While - Loop mi conta quanti sono i dati per dimensionare la matrice.

Il problema e' che questi due cicli Loop, quando vengono eseguiti a macchina, leggono le celle come se fossero vuote. Infatti, il primo ciclo arriva al termine della pagina per poi generare un errore "fuori dall'intervallo", mentre il secondo si ferma subito poiche' considera vuote celle che in realta' contengono valori.

Dove sta l'assurdita'? Che lo stesso codice, se eseguito in modalita' interruzione (quindi un'istruzione alla volta), funziona perfettamente! Ho provato a cambiare PC (quindi a usare un'altro Office) e ho lo stesso problema. Come si spiega questo fenomeno? Cosa dovrei fare per risolvere, dal momento che senza quel frammento di codice non funziona tutto il codice e quindi il progetto?

Grazie in anticipo!

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-08-30T15:08:31+00:00

Ciao Mauro,

purtroppo non potevo condividere il file (ci avevo pensato gia' prima) poiche' contiene dati riservati dell'azienda. Tuttavia, sono riuscito (dopo un giorno di osservazione) a capire qual'era il problema. La macro veniva richiamata dal Foglio1 ma trasferiva i dati scaricati dal web sul Foglio2. Tuttavia, nonostante il Foglio2 fosse settato come destinazione dei dati, non era mai attivato dunque il loop scorreva nel Foglio1 e non arrivava al termine, Difatti, in modalita' interruzione funzionava perche' io appositamente aprivo il Foglio2 (per guardare cosa succedesse). Problema stupido e difatti dettato dalla stanchezza! Grazie per la disponibilita' comunque!

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-08-30T15:21:40+00:00

                    

    <cut>

    Difatti, in modalita' interruzione funzionava perche' io appositamente aprivo il Foglio2 (per guardare cosa succedesse). Problema stupido e difatti dettato dalla stanchezza! Grazie per la disponibilita' comunque!

    Grazie a te per aver postato la soluzione al tuo problema.

    Chiudo il post.

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-08-30T14:47:13+00:00

                   

    Dove sta l'assurdita'? Che lo stesso codice, se eseguito in modalita' interruzione (quindi un'istruzione alla volta), funziona perfettamente! Ho provato a cambiare PC (quindi a usare un'altro Office) e ho lo stesso problema. Come si spiega questo fenomeno? Cosa dovrei fare per risolvere, dal momento che senza quel frammento di codice non funziona tutto il codice e quindi il progetto?

    Grazie in anticipo!

    Metti in condivisione il file che da problemi su Skydrive o simili.

    Altrimenti diventa difficile dare una risposta.

    Ed esistono altri modi per leggere una tabella/popolare una matrice, più pratici di Do Loop, ma anche in questo caso, senza vedere il file, difficile aiutare.

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento