Estrazione dati da files chiusi

di il
8 risposte

Estrazione dati da files chiusi

Buongiorno a tutti,

per estrarre dati da files excel chiusi, ho utilizzato la seguente formula che mi somma la colonna di mio interesse:
=MATR.SOMMA.PRODOTTO(--('\\vmware-host\Shared Folders\Scrivania\Cart3\[f3.xlsx]Foglio1'!$A$6:$A$30))

Purtroppo ovviamente mi conteggia i valori presenti nel solo file .

Dovendo estrarre dati da molti più files presenti nella dir Cart3 è possibile secondo voi, modificare nella formula [f3.xlsx] in modo che
comprenda TUTTI i files presenti ?

Ringrazio anticipatamente per il supporto

8 Risposte

  • Re: Estrazione dati da files chiusi

    Non con una formula, occorre una macro
  • Re: Estrazione dati da files chiusi

    E non esistono "dati da file chiusi" ... se vuoi i dati, devi aprire i file ...
  • Re: Estrazione dati da files chiusi

    Grazie ad entrambi per le info;
    potreste darmi un esempio per poter estrarre piu' files dalla Cart3, come indicato ?

    Grazie ancora per la disponibilità.
  • Re: Estrazione dati da files chiusi

    Il codice seguente apre tutti i file della cartella mfolder e copia il range A1:A5 nel foglio1, non risolve pienamente il tuo problema ma è uno spunto da cui iniziare
    Sub accoda1()
    Dim strFile As String
    Set sh = ThisWorkbook.Sheets(1)
    mFolder = "F:\Download\a\" ' <<<<<<<< da modificare
    strFile = Dir(mFolder & "*.xlsx")
    riga = 2
    Do While strFile <> ""
       Set WB = Workbooks.Open(mFolder & strFile)
       Set Rng = WB.Sheets(1).Range("A1:A5") 
       Rng.Copy sh.Cells(riga, 1)
       WB.Close False
       riga = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row + 1
       strFile = Dir
    Loop
    Set WB = Nothing
    End Sub
  • Re: Estrazione dati da files chiusi

    Grazie Patel, un sentito grazie a te ed a tutti coloro, redazione inclusa, che come te, con passione e dedizione si dedicano ad aiutare chi non è professionalmente evoluto.

    Ti informero' a breve sui risultati.
    Grazie ancora
  • Re: Estrazione dati da files chiusi

    Ciao Patel,

    prima di tutto ti informo su quanto ho fatto; premetto che non sono riuscito a ricavare i dati richiesti.
    1 Ho aperto un file di Excel ed ho copiato il codice che mi hai inviato in un modulo che ho attivato dopo aver cliccato l’icona di Visual Basic.
    2 Prima della copiatura, ho aggiornato il codice modificando la posizione mFolder = "H:\Download\a\" (H è la chiavetta USB nella quale risiede la
    directory mFolder con circa 1800 files .xls ( ho modificato anche questa estensione).
    3 Ho poi cliccato passando in Excel, sull’icona Macro e quindi attivando, esegui.
    4 Risultato: non è successo nulla.

    COSA HO SBAGLIATO? E' evidente che sono alle primissime armi.

    Allego anche uno screenshot.
    Allegati:
    24287_e7d1a07bafafecaedf383a882380cd7d.jpg
    24287_e7d1a07bafafecaedf383a882380cd7d.jpg
  • Re: Estrazione dati da files chiusi

    Un saluto a tutti
    Premetto che da files chiusi non si recupera un bel niente! Prima si aprono, anche in background, e poi si leggono.
    Comunque, no, non hai sbagliato nulla (almeno credo).

    Il fatto è che quando inserisci la chiavetta il sistema non dà sempre la stessa lettera, devi cercarla.
    La seguente Function ti permette di conoscere la lettera che poi assegnerai al tuo (quello di @patel che saluto) codice.
    Per sapere la lettera assegnata ad una chiavetta USB
    Public Function f() As String
       Dim objFSO As Object
       Dim colDrives As Object
       Dim objDrive As Object
       f = "Nessun drive mobile"
       Set objFSO = CreateObject("Scripting.FileSystemObject")
       Set colDrives = objFSO.Drives
       For Each objDrive In colDrives
           If objDrive.IsReady = True Then
               If objDrive.DriveType = 1 Then
                   f = objDrive.DriveLetter
               End If
           End If
       Next
       Set objDrive = Nothing
       Set objFSO = Nothing
       Set colDrives = Nothing
    End Function
    
    Da richiamare, ad esempio così:
    
    Public Sub m()
        MsgBox f
    End Sub
    
    oppure facendola scrivere in una cella vuota per poi recuperarla.

    Fai sapere. Ciao,
    Mario
  • Re: Estrazione dati da files chiusi

    Bravo Mario, molto utile questa function !
    basta scrivere
    mFolder = f & ":\"
    se i file sono nella dir principale

    inoltre ho visto che nella riga
    mFolder = "F:\Download\a\"
    hai modificato solo la lettera iniziale, non credo che la tua chiavetta abbia la cartella Download
Devi accedere o registrarti per scrivere nel forum
8 risposte