Andmete väljavõtmine suletud failist teises töövihikus on enamiku Exceli kasutajate tavaline taotlus. Nad sooviksid suletud failidest andmeid hankida või koondada; see pole aga võimalik. On olemas lahendus, mis aitab seda probleemi lahendada. Lahenduseks on makrokoodi kasutamine.
Küsimus: Igapäevaselt kulutan aega andmete kopeerimiseks ühest failist teise. Seal on kaks faili “Open.xls” ja “Closed.xls” ning ma tahan VBA -koodi kaudu andmeid kopeerida jaotisest “Closed.xls” kausta “Open.xls”.
Peamised asjad, mida teada:
- Esimene asi on see, et me peaksime teadma suletud töövihiku „Usedrange”, st „Closed.xls” avatud töövihikus, nt. "Open.xls"
- Saame kasutada IF -funktsiooni töövihiku „Open.xls” töövihiku „Closed.xls” kasutatud vahemikus ja see võtab andmed välja „Closed.xls” töövihikust
- Kui viidav lahter on tühi, sisestatakse paika #N/A. Spetsiaalsete rakkude meetodit kasutades saate seejärel kustutada kõik vead #N/A ja muuta valemi väärtusteks
Alustuseks salvestame kaks Exceli faili 1) Open.xls 2) Closed.xls teele “D: \ Test Folder”
Järgnevalt on toodud töövihiku „Closed.xls” ülevaade:
Faili „Closed.xls” andmete automaatseks salvestamiseks faili „Open.xls” peame VB redaktori käivitamiseks järgima alltoodud samme.
- Klõpsake vahekaarti Arendaja
- Valige koodirühmas Visual Basic
- Kopeerige allolev kood käesolevas töövihikus (Closed.xls)
Privaatne alamtöövihik_BeforeSave (ByVal SaveAsUI as Boolean, _ Cancel as Boolean) 'Sisestage Sheet1 Closed.
- Andmete tõmbamiseks kausta „Open.xls” kopeerige standardmoodulis järgmine kood
Alamimpordiandmed () Dim AreaAddress String Sheet1.UsedRange.Clear Sheet1.Cells (1, 1) = "= 'D: \ Test Folder \" & "[Closed.xls] Sheet2'! RC" AreaAddress = Sheet1.Cells ( 1, 1) Sheet1.Range (AreaAddress) .VormelR1C1 = "= IF ('D: \ Test Folder \" & "[Closed.xls] Sheet1'! RC =" "" ", NA (), 'D: \ Test Folder \ "& _" [Closed.xls] Sheet1 '! RC) "On Error Resume Next .SpecialCells (xlCellTypeFormulas, xlErrors). Kustuta tõrge GoTo 0 .Value = .Value End End Sub
- Kopeerige järgmine kood käesolevas tööraamatus (Open.xls)
Privaatne alamtöövihik_Open () Käivitage lõpu alamosa „Import”
Nüüd on kõik VBA koodid seatud; kõik, mida peame tegema, on avada failinimi “Open.xls”. Järgmine on hetktõmmis failist „Open.xls”:
Kood ei piirdu lahtri koopiaga saidilt A1.usedrange; kood valib algusvahemiku ja töötab suurepäraselt. Failid on allalaadimiseks saadaval ja soovitame teil proovida.
Järeldus: VBA -koodi abil saame automatiseerida andmete väljavõtmise ülesannet sihtkoha töövihikut avamata ning säästame end käsitsi kopeerimise ja kleepimise eest.
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