In Microsoft Excel, ottenere informazioni da una cartella di lavoro chiusa è uno dei modi più rapidi per ottenere dati accurati utilizzando il codice VBA. In questo articolo, impareremo come leggere le informazioni da una cartella di lavoro chiusa utilizzando VBA in Microsoft Excel.

Se stai ricevendo più file tramite e-mail o qualsiasi altra fonte e desideri ottenere informazioni archiviate in una cella particolare, dovresti leggere questo tutorial.

Per comprendere questo esempio, dobbiamo creare alcuni file di esempio in un percorso che useremo nel codice VBA; qui, abbiamo salvato un paio di file (file Nord e Ovest) nel percorso “D: \ testing”.

Per estrarre i dati da tutti i file excel in una cartella, dobbiamo seguire i passaggi seguenti per avviare l’editor di VB:

Fare clic sulla scheda Sviluppatore Dal gruppo Codice selezionare Visual Basic

img1

  • Copia il codice seguente nel modulo standard

Sub ReadDataFromAllWorkbooksInFolder()

Dim FolderName As String, wbName As String, r As Long, cValue As Variant

Dim wbList() As String, wbCount As Integer, i As Integer

FolderName = "D:\testing"

' create list of workbooks in foldername' --- Comment

wbCount = 0

wbName = Dir(FolderName & "\" & "*.xls")

While wbName <> ""

wbCount = wbCount + 1

ReDim Preserve wbList(1 To wbCount)

wbList(wbCount) = wbName

wbName = Dir

Wend

If wbCount = 0 Then Exit Sub

' get values from each workbook' --- Comment

r = 0

Workbooks.Add

For i = 1 To wbCount

r = r + 1

cValue = GetInfoFromClosedFile(FolderName, wbList(i), "Sheet1", "A1")

Cells(r, 1).Formula = wbList(i)

Cells(r, 2).Formula = cValue

Next i

End Sub

Private Function GetInfoFromClosedFile(ByVal wbPath As String, _

wbName As String, wsName As String, cellRef As String) As Variant

Dim arg As String

GetInfoFromClosedFile = ""

If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\"

If Dir(wbPath & "\" & wbName) = "" Then Exit Function

arg = "'" & wbPath & "[" & wbName & "]" & _

wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1)

On Error Resume Next

GetInfoFromClosedFile = ExecuteExcel4Macro(arg)

End Function

img2

img3

Dobbiamo eseguire la macro e la seguente sarà l’istantanea del risultato:

img4

===

Conclusione: utilizzando il codice sopra, possiamo ottenere dati dalla cartella di lavoro chiusa da una cella specifica.

Nota: la cella A1 viene utilizzata come esempio; se vuoi recuperare i dati da qualsiasi altra cella, devi semplicemente menzionare quella cella.

image 48

Se i nostri blog ti sono piaciuti, condividilo con i tuoi amici su Facebook. E anche tu puoi seguirci su Twitter e Facebook.

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