Les informasjon fra en lukket arbeidsbok ved hjelp av VBA i Microsoft Excel

Anonim

I Microsoft Excel er det å få informasjon fra en lukket arbeidsbok en av de mest tidsbesparende måtene å få nøyaktige data ved hjelp av VBA-kode. I denne artikkelen lærer vi hvordan du leser informasjon fra en lukket arbeidsbok ved hjelp av VBA i Microsoft Excel.

Hvis du får flere filer via e -post eller annen kilde, og du vil lagre informasjon i en bestemt celle, bør du lese denne opplæringen.

For å forstå dette eksemplet må vi lage noen prøvefiler i en bane som vi vil bruke i VBA -kode; her har vi lagret et par filer (nord- og vestfiler) i banen "D: \ testing".

For å trekke ut data fra alle excel -filene i en mappe, må vi følge trinnene nedenfor for å starte VB -editor:

  • Klikk på kategorien Utvikler
  • Velg Visual Basic fra kodegruppen

  • Kopier koden nedenfor i standardmodulen
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' --- Kommentar wbCount = 0 wbName = Dir (mappenavn & "\" & "*.xls") Mens wbName "" wbCount = wbCount + 1 ReDim Preserve wbList (1 til wbCount) wbList (wbCount) = wbName wbName = Dir Wend Hvis wbCount = 0 Avslutt deretter Sub 'få verdier fra hver arbeidsbok' --- Kommentar r = 0 Workbooks.Add For i = 1 To wbCount r = r + 1 cValue = GetInfoFromClosedFile (FolderName, wbList (i), "Sheet1", "A1") Celler (r, 1) .Formula = wbList (i) Celler (r, 2) .Formula = cValue Neste i Avslutte 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) = "" Så avslutt funksjon arg = "'" & wbPath & "[" & wb Navn & "]" & _ wsName & "'!" & Range (cellRef) .Address (True, True, xlR1C1) On Error Resume Next GetInfoFromClosedFile = ExecuteExcel4Macro (arg) Sluttfunksjon 

Vi må kjøre makroen, og følgende blir øyeblikksbildet av resultatet:

Konklusjon: Ved å bruke koden ovenfor kan vi hente data fra lukket arbeidsbok fra en bestemt celle.

Merk: Celle A1 brukes som et eksempel; Hvis du vil hente data fra en annen celle, må du bare nevne den cellen.

Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post