Izdvajanje podataka iz zatvorene datoteke u drugu radnu knjigu uobičajen je zahtjev većine korisnika programa Excel. Željeli bi izvući ili konsolidirati podatke iz zatvorenih datoteka; međutim, to nije moguće. Postoji rješenje koje pomaže u rješavanju ovog problema. Rješenje je korištenje makro koda.
Pitanje: Svakodnevno provodim vrijeme u kopiranju podataka iz jedne datoteke u drugu. Postoje dvije datoteke “Open.xls” i “Closed.xls” i želim kopirati podatke iz “Closed.xls” u “Open.xls” putem VBA koda.
Ključne stvari koje treba znati:
- Prva stvar je da bismo trebali znati "Used range" zatvorene radne knjige, tj. "Closed.xls" unutar otvorene radne knjige za npr. "Open.xls"
- Možemo koristiti funkciju IF u Usedrangeu radne knjige "Closed.xls" unutar radne knjige "Open.xls" i ona će izdvojiti podatke iz radne knjige "Closed.xls"
- Ako je referentna ćelija prazna, stavlja se #N/A. Pomoću metode specialcells možete izbrisati sve pogreške #N/A i formulu promijeniti u vrijednosti
Za početak ćemo spremiti dvije excel datoteke 1) Open.xls 2) Closed.xls na stazi “D: \ Test Folder”
Slijedi snimak radne knjige "Closed.xls":
Za automatsko spremanje podataka iz datoteke "Closed.xls" u datoteku "Open.xls", moramo slijediti donje korake za pokretanje VB uređivača
- Kliknite karticu Developer
- Iz grupe kodova odaberite Visual Basic
- Kopirajte donji kod u ovu radnu knjigu (zatvoreno.xls)
Privatna dodatna radna knjiga_BeforeSave (ByVal SaveAsUI kao Boolean, _ Cancel As Boolean) 'Stavite adresu UsedRange na listu Sheet1 Closed.xls (ova radna knjiga)' --- List s komentarima2.Cells (1, 1) = Sheet1.UsedRange.Address End Sub
- Da biste povukli podatke u “Open.xls”, kopirajte sljedeći kôd u standardni modul
Pod Importdata () Dim AreaAddress As String Sheet1.UsedRange.Clear Sheet1.Cells (1, 1) = "= 'D: \ Test Folder \" & "[Closed.xls] Sheet2'! RC" AreaAddress = Sheet1.Cells ( 1, 1) S Sheet1.Range (AreaAddress) .FormulaR1C1 = "= IF ('D: \ Test Folder \" & "[Closed.xls] Sheet1'! RC =" "" ", NA (), 'D: \ Testna mapa \ "& _" [Zatvoreno.xls] List1 '! RC) "Uključeno Pogreška Nastavi Sljedeće. Specijalne ćelije (xlCellTypeFormulas, xlErrors). Očistite pogrešku Idi na 0. Vrijednost =. Vrijednost završi s potp.
- Kopirajte sljedeći kôd u ovu radnu knjigu (Open.xls)
Private Sub Workbook_Open () Pokrenite "Importdata" End Sub
Sada su svi VBA kodovi postavljeni; sve što trebamo učiniti je otvoriti naziv datoteke “Open.xls”. Slijedi snimak datoteke "Open.xls":
Kôd nije ograničen na ćelijsku kopiju iz A1.usedrange; kôd će izabrati početni raspon i savršeno će raditi. Datoteke su dostupne za preuzimanje i preporučujemo vam da krenete.
Zaključak: Pomoću VBA koda možemo automatizirati zadatak izdvajanja podataka bez otvaranja odredišne radne knjige i štedimo se od ručnog kopiranja i lijepljenja.
Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.
Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte