Rilevare dati da altro file



  • Rilevare dati da altro file
    di TotoWeb (utente non iscritto) data: 23/10/2014 11:09:46

    Gradirei sapere se è possibile sostituire il nome file prendendola da una cella. Allego Macro funzionante se e' indicato il nome del file. Vorrei sostituire la riga file = "Dati.xls" con valore preso da una cella e dove modificare

    Private Function PrendiDati(percorso, nomefile, foglio, rif)

    Dim arg As String
    If Right(percorso, 1) <> "" Then percorso = percorso & "" 'controlliamo anche che nella stringa "percorso" sia stata inserita la barra
    If Dir(percorso & nomefile) = "" Then
    PrendiDati = "File Non Trovato"
    Exit Function
    End If

    ' usiamo la variabile "arg" assegnando la concatenazione dei valori reperiti con gli argomenti dalla macro "RilevaDati" - questa stringa non occorre modificarla
    arg = "'" & percorso & "[" & nomefile & "]" & foglio & "'!" & Range(rif).Range("A1").Address(, , xlR1C1)

    ' Eseguiamo una XLM macro il cui risultato è assegnato alla funzione stessa
    PrendiDati = ExecuteExcel4Macro(arg)
    End Function
    Sub RilevaDati1()
    Application.ScreenUpdating = False
    Sheets("Foglio1").Select
    Rows("2:19").Select
    Selection.ClearContents

    percorso = "C:Trasferimento"

    file = "Dati.xls"
    foglio = "Dati"
    For r = 15 To 19 ' numero righe
    For c = 1 To 11 ' numero colonne , in questo caso dalla A alle E
    cella = Cells(r, c).Address
    Sheets("Foglio1").Select
    Cells(r, c) = PrendiDati(percorso, file, foglio, cella) ' richiamo della funzione

    Rowmax = 100 ' esecuzione della barra di scorrimento
    Colmax = 5
    conteggio = conteggio + 1
    Percentuale = conteggio / (Rowmax * Colmax)
    'Progressione.Show
    'With Progressione
    ' .Frame1.Caption = Format(Percentuale, "0%")
    ' .Label1.Width = Percentuale * (.Frame1.Width - 10)
    ' .Caption = " Esecuzione scarico dati Pratiche"
    ' End With
    DoEvents
    Next c
    Next r

    Application.ScreenUpdating = True
    'Progressione.Hide

    End Sub

    Grazie per l'attenzione



  • di lepat (utente non iscritto) data: 23/10/2014 13:06:02

    file = range("A2").value

    ovviamente in A2 deve esserci il nome completo (anche il percorso)