Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Excel] Macro per importare dati da un altro file non funziona..

    Ciao a tutti,
    ho trovato sul forum una macro perfetta per un lavoro che devo fare.. Copiare da 76 file diversi, con nomi diversi, una stessa cella (C38) in un nuovo file, in modo da fare una colonna con tutti questi valori per poi poterli sommare
    Ho usato questa macro

    codice:
    Sub EstraiValori()
        
        NomeFoglio = "RIEPILOGO"
        NumeroFiles = 20
        cella = "$B$4"
        
        For t = 1 To NumeroFiles
            nomefile = ActiveSheet.Cells(t, 1)
            Sheets("Foglio1").Cells(t, 2).Formula = "=" & "'[" & nomefile & "]" & NomeFoglio & "'!" & cella
        Next t
        
    End Sub
    In pratica dovrebbe, inserendo i percorsi dei vari file xls nella colonna A, a partire da A1, far apparire il valore nella corrispondente riga nella colonna B
    I valori da modificare per adattarla ai vari file sono

    NomeFoglio (il nome del foglio del file di origine), nel mio caso "SCHEDA" (ci sono altri fogli)
    NumeroFiles (per sapere di quante righe copiare i valori usando i percorsi)
    cella (la cella da copiare, nel mio caso $C$38)

    Però non riesco a farlo fare.. In qualsiasi modo metta l'indirizzo del file, mi appare nella colonna B #RIF dandomi errore, e devo impostare manualmente il percorso di ogni file (cosa molto scomoda perchè dovrei rieseguire la macro ogni volta che apro il file per poter far la somma di tutti questi valori che mi cambiano due volte al giorno, e dover mettere due volte al giorno i valori manualmente è una mazzata, mentre se la macro funzionasse bene ci vorrebbero pochi secondi)
    Qualcuno sa aiutarmi?
    Io ho messo l'indirizzo nel formato

    C:\Documents and Settings\segreteria\Desktop\SCHEDE BANCA\*Cognome Nome.xls*

    Con e senza il ".xls"
    E anche altri formati ma in ogni caso da sempre errore e mi fa reimpostare manualmente i percorsi

    Grazie mille anticipatamente

    Akylle

    PS: la macro che ho postato è quella che ha inviato un altro utente in una discussione di anni fa, senza modificarla, così vedete come è, perchè magari sono io che la modifico in modo errato

  2. #2
    Ciao,
    quella macro funziona solo se i 76 file sono aperti ed allora nella colonna A devi inserire i nomi dei file, compresa l’estensione .xls, ma senza percorso.
    Se invece i file sono chiusi ci sono due possibilità, se si trovano tutti nella stessa cartella basta inserire il percorso nella macro prima della parentesi quadra, così:
    codice:
    Sheets("Foglio1").Cells(t, 2).Formula = "=" & "'C:\Documents and Settings\segreteria\Desktop\SCHEDE BANCA\[" & nomefile & "]" & NomeFoglio & "'!" & cella
    Anche in questo caso nella colonna A bisogna mettere solo i nomi dei file.
    Se invece i file sono chiusi e si trovano in percorsi diversi occorrerà inserire nella colonna A i percorsi (devono terminare con \), nella colonna B i nomi dei file e modificare la macro in questo modo:
    codice:
    Sub EstraiValori()
        
        NomeFoglio = "RIEPILOGO"
        NumeroFiles = 20
        cella = "$B$4"
        
        For t = 1 To NumeroFiles
            percorso = ActiveSheet.Cells(t, 1)
            nomefile = ActiveSheet.Cells(t, 2)
            Sheets("Foglio1").Cells(t, 3).Formula = "=" & "'" & percorso & "[" & nomefile & "]" & NomeFoglio & "'!" & cella
        Next t
        
    End Sub
    Il risultato in questo caso sarà nella colonna C.
    Tieni presente che la macro, per come è scritta, prende i percorsi e i nomi dei file dal foglio in cui viene eseguita (ActiveSheet) e inserisce le formule nel Foglio1 che è impostato come valore fisso, se vuoi renderla più flessibile puoi sostituire Sheets("Foglio1")con ActiveSheet in modo che scriva nel foglio attivo, qualunque sia il suo nome.
    Fammi sapere se ti funziona.
    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Grazie mille.. ce l'ho fatta =)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.