Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

aggiornare più fogli contemporaneamente

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

aggiornare più fogli contemporaneamente

Postdi miko » 09/02/10 17:40

ciao,
ho ancora un problema;
ho un elenco di dati disposti su 10 colonne, ma il numero di righe è molto elevato, oltre 300.000, ed excel 2003 dispone solo di 65536 righe.
ho pensato di dividere i dati in più fogli, sempre nella stesse colonne;
questi dati vengono aggiornati, importati, da un file.txt;
per un solo foglio ho usato il seguente codice:
Codice: Seleziona tutto
Sub IMPORTA_dati()
    Range("B65536").End(xlUp).Offset(1, 0).Select
    Set PRIMA_CELLA_VUOTA = Selection
       
    With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;E:\DATI\elenco.Txt", Destination:=PRIMA_CELLA_VUOTA)
etc....

per aggiornare tutti i fogli contemporaneamente ho inserito questo codice in un modulo, non nel foglio, ed ho inserito un ciclo for ..next
Codice: Seleziona tutto
Sub IMPORTA_dati()
   for i=1 to 5
worksheet(foglioi).select
Range("B65536").End(xlUp).Offset(1, 0).Select
    Set PRIMA_CELLA_VUOTA = Selection
       
    With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;E:\DATI\elenco.Txt", Destination:=PRIMA_CELLA_VUOTA)
etc...
next i

ma naturalmente non funziona.
è inutile sottolineare che le ricerche in tal senso non mi hanno dato risultati.
come devo modificare il codice?
grazie miko
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Sponsor
 

Re: aggiornare più fogli contemporaneamente

Postdi Anthony47 » 09/02/10 19:06

Usa una macro come questa, che mette le righe in sequenza su Foglio1, Foglio2, etc; i nfogli devono gia' esistere e possono avere qualsiasi nome
Codice: Seleziona tutto
Sub Importfile()
Open "C:\directory\File.txt" For Input As #1
Sh=1      'Foglio da cui vuoi partire
Ri0=0       'Riga da cui vuoi importare sui fogli, -1
Ri=Ri0
Do While Not EOF(1)
    Ri=Ri+1
    Line Input #1, Riga
    Sheets(Sh).cells(Ri,1)=Riga
    if(Ri=65535) then
     Sh=Sh+1
     Ri=Ri0
    End if
Loop
Close #1
End Sub

Il file viene importato senza suddivisione in colonna, se questo invece e' ncessario allora registra una macro mentre fai "Testo in colonna" su ogni foglio del tuo file, poi aggiungi Call Macro1 in coda alla Importfile

Un approccio alternativo e' descritto sul sito Microsoft, vedi qui: http://support.microsoft.com/default.as ... -us;120596

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: aggiornare più fogli contemporaneamente

Postdi miko » 10/02/10 08:55

buongiorno a tutti,
grazie anthony
ho provato il codice che hai scritto e quello della microsoft che mi hai indicato, ma entrambi inseriscono i valori solo nel foglio 1, quello iniziale, e ripetendo la macro i valori non si accodano ai precedenti ma si sovrappongono;
non trovo niente negli altri fogli.
grazie anche per il suggerimento di "testo in colonne",non conoscevo questa possibilità.
quello che cercavo è una macro che importa i valori contemporaneamente in tutti i fogli
e li accoda a quelli precedenti.
grazie saluti
miko
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Re: aggiornare più fogli contemporaneamente

Postdi miko » 11/02/10 23:23

salve
dopo varie modifiche ed i tuoi suggerimenti ci sono riuscito.
grazie anthony
saluti miko
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44


Torna a Applicazioni Office Windows


Topic correlati a "aggiornare più fogli contemporaneamente":


Chi c’è in linea

Visitano il forum: Nessuno e 25 ospiti