In questo articolo, creeremo una procedura per recuperare i dati dalla cartella di lavoro chiusa alla cartella di lavoro attiva utilizzando il codice VBA.

I dati grezzi che vogliamo recuperare sono presenti nell’intervallo A13: E22 sul foglio “Sheet1” nel file “DataFile.xlsx” che si trova nel percorso “C: \ Users \ Ramandeep \ Desktop”.

dataFile

Spiegazione logica

Abbiamo creato due procedure in questo articolo: -. CallingMainProcedure. GetValuesFromAClosedWorkbook

CallingMainProcedure procedure

Questa procedura viene utilizzata per chiamare la procedura “GetValuesFromAClosedWorkbook”. Assegna valori al parametro della procedura “GetValuesFromAClosedWorkbook”.

Procedura GetValuesFromAClosedWorkbook

Questa procedura accetta come parametri il percorso del file e il nome del file della cartella di lavoro chiusa. Prende anche il nome del foglio e l’intervallo dalla cartella di lavoro chiusa come parametro. Utilizzando il valore del parametro di input, viene immessa una formula di matrice nell’intervallo A13: E22 del foglio attivo come \ {= ‘C: \ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’! A13: E22} La formula di matrice porta il dati richiesti dalla cartella di lavoro chiusa. Una volta che i dati vengono recuperati nel foglio attivo, le formule dal foglio vengono rimosse sostituendo le formule con il valore.

ArrowAfterRunningMacro

Segui sotto per il codice

Option Explicit

Sub CallingMainProcedure()

'Calling GetValuesFromAClosedWorkbook procedure

'Specifying the file path, filename, sheet name and range of data

GetValuesFromAClosedWorkbook "C:\Users\Ramandeep\Desktop", "DataFile.xlsx", _

"Sheet1", "A13:E22"

End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _

fName As String, sName, cellRange As String)



With ActiveSheet.Range(cellRange)

'Assigning the array formula to the specified range

.FormulaArray = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange

'Removing formula from the cell and pasting the values in the cell

.Value = .Value

End With

End Sub

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]