Prečítajte si informácie z uzavretého zošita pomocou jazyka VBA v programe Microsoft Excel

Anonim

V programe Microsoft Excel je získanie informácií z uzavretého zošita jedným z najúspornejších spôsobov, ako získať presné údaje pomocou kódu VBA. V tomto článku sa naučíme čítať informácie z uzavretého zošita pomocou jazyka VBA v programe Microsoft Excel.

Ak dostávate viac súborov prostredníctvom e -mailu alebo iného zdroja a chcete získať informácie uložené v konkrétnej bunke, mali by ste si prečítať tento návod.

Aby sme pochopili tento príklad, musíme vytvoriť niekoľko ukážkových súborov na ceste, ktorú použijeme v kóde VBA; tu sme uložili niekoľko súborov (súbory Sever a Západ) do cesty „D: \ testing“.

Ak chcete extrahovať údaje zo všetkých súborov programu Excel v priečinku, na spustenie editora VB musíme vykonať nasledujúce kroky:

  • Kliknite na kartu Vývojár
  • Zo skupiny kódov vyberte Visual Basic

  • Skopírujte nižšie uvedený kód do štandardného modulu
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' --- Komentár wbCount = 0 wbName = Dir (FolderName & "\" & "*.xls") While wbName "" wbCount = wbCount + 1 ReDim Preserve wbList (1 To wbCount) wbList (wbCount) = wbName wbName = Dir Wend Ak wbCount = 0, potom Exit Sub 'získate hodnoty z každého zošita' --- Komentár r = 0 zošitov.Pridať pre i = 1 Do wbCount r = r + 1 cValue = GetInfoFromClosedFile (FolderName, wbList (i), "Sheet1", „A1“) Bunky (r, 1). Vzorec = wbList (i) Bunky (r, 2). Vzorec = cValue Ďalej i Koniec Sub Súkromná funkcia 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 = "'" & wbCesta & "[" & wb Meno & "]" & _ wsMeno & "'!" & Range (cellRef) .Address (True, True, xlR1C1) On Error Resume Next GetInfoFromClosedFile = ExecuteExcel4Macro (arg) End Function 

Potrebujeme spustiť makro a ako výsledok bude nasledujúci obrázok:

Záver: Pomocou vyššie uvedeného kódu môžeme získať údaje z uzavretého zošita z konkrétnej bunky.

Poznámka: Bunka A1 sa používa ako príklad; ak chcete získať údaje z akejkoľvek inej bunky, stačí túto bunku spomenúť.

Ak sa vám páčili naše blogy, zdieľajte ich so svojimi priateľmi na Facebooku. A tiež nás môžete sledovať na Twitteri a Facebooku.

Radi by sme vás počuli, dajte nám vedieť, ako môžeme zlepšiť, doplniť alebo inovovať našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku