Microsoft Excelis on teabe hankimine suletud töövihikust üks aeganõudvamaid viise täpsete andmete saamiseks VBA-koodi abil. Selles artiklis õpime, kuidas lugeda teavet suletud töövihikust, kasutades Microsoft Excelis VBA -d.
Kui saate e -posti või mõne muu allika kaudu mitu faili ja soovite saada konkreetsesse lahtrisse salvestatud teavet, peaksite seda õpetust lugema.
Selle näite mõistmiseks peame looma mõned näidisfailid teel, mida kasutame VBA -koodis; siin oleme salvestanud paar faili (põhja- ja läänefailid) teele „D: \ testing”.
Andmete eraldamiseks kõigist kausta Exceli failidest peame VB redaktori käivitamiseks järgima järgmisi samme:
- Klõpsake vahekaarti Arendaja
- Valige koodigrupist Visual Basic
- Kopeerige allolev kood standardmoodulisse
Sub ReadDataFromAllWorkbooksInFolder () Dim FolderName kui string, wbName nagu string, r nii pikk, cValue As Variant Dim wbList () Stringina, wbCount As Integer, i As Integer FolderName = "D: \ testing" 'loo töövihikute loend kausta nimega' --- Kommentaar wbCount = 0 wbName = Dir (KaustaNimi & "\" & "*.xls") Kuigi wbName "" wbCount = wbCount + 1 ReDim Säilita wbList (1 To wbCount) wbList (wbCount) = wbName wbName = Dir Wend Kui wbCount = 0, siis Exit Sub 'hankige väärtused igast töövihikust' --- Kommentaar r = 0 Töövihikud. Lisage i = 1 jaoks wbCount r = r + 1 cValue = GetInfoFromClosedFile (FolderName, wbList (i), "Sheet1", "A1") Lahtrid (r, 1) .Formula = wbList (i) Lahtrid (r, 2) .Formula = cValue Järgmine i End Sub Private Function GetInfoFromClosedFile (ByVal wbPath As String, _ wbName As String, wsName As String, cellRef Stringina) Variandina Dim arg Nagu string GetInfoFromClosedFile = "" Kui õige (wbPath, 1) "\" Siis wbPath = wbPath & "\" If Dir (wbPath & "\" & wbName) = "" Siis välju funktsioonist arg = "" "& wbPath &" ["& wb Nimi & "]" & _ wsNimi & "'!" & Vahemik (cellRef). Aadress (tõsi, tõsi, xlR1C1) vea korral Jätka järgmisel GetInfoFromClosedFile = ExecuteExcel4Macro (arg) Lõppfunktsioon
Peame makro käivitama ja tulemuse ülevaade on järgmine:
Järeldus: Ülaltoodud koodi kasutades saame suletud töövihikust andmeid konkreetsest lahtrist.
Märkus: Näitena kasutatakse lahtrit A1; kui soovite andmeid hankida mõnest teisest lahtrist, peate selle lahtri lihtsalt mainima.
Kui teile meeldisid meie ajaveebid, jagage seda oma sõpradega Facebookis. Samuti saate meid jälgida Twitteris ja Facebookis.
Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd täiustada, täiendada või uuendada ning muuta see teie jaoks paremaks. Kirjuta meile meilisaidile