Turinys
Kai dirbame su keliomis "Excel" lentelėmis, kartais turime nukopijuoti duomenis iš vienos skaičiuoklės į kitą. VBA yra veiksmingiausias, greičiausias ir saugiausias būdas atlikti bet kokią operaciją "Excel" programoje. Šiame straipsnyje parodysime, kaip kopijuoti ir įklijuoti duomenis iš vienos darbalapio į kitą. "Excel" programoje su VBA makrokomandos .
Atsisiųsti darbo knygą
Nemokamą "Excel" pratybų sąsiuvinį galite atsisiųsti iš čia.
Kopijavimas ir įklijavimas iš vienos darbalapio į kitą.xlsm
15 "Excel" duomenų kopijavimo ir įklijavimo iš vieno darbalapio į kitą metodų naudojant VBA
Šiame skyriuje sužinosite 15 metodų, kaip galite kopijuoti duomenis iš vienos darbalapio ir įklijuoti juos į kitą. su VBA "Excel" programoje.
Aukščiau pateiktas duomenų rinkinys, kuris šiame straipsnyje bus laikomas mūsų pavyzdžiu.
1. Įterpta VBA makrokomanda duomenų diapazonui kopijuoti ir įklijuoti iš vienos darbalapio į kitą
Veiksmai, kuriuos reikia atlikti kopijuoti ir įklijuoti duomenų diapazoną iš vieno darbalapio į kitą naudojant VBA aprašyta toliau.
Žingsniai:
- Pradžioje paspauskite Alt + F11 klaviatūroje arba eikite į skirtuką Programuotojas -> "Visual Basic atidaryti "Visual Basic" redaktorius .
- Iššokančiame kodo lange meniu juostoje spustelėkite Insert -> Modulis .
- Dabar, nukopijuokite šį kodą ir įklijuokite jį į kodo langas .
Sub CopyPasteToAnotherSheet() Worksheets("Dataset").Range("B2:F9").Copy Worksheets("CopyPaste").Range("B2") End Sub
Dabar jūsų kodas paruoštas paleisti.
Ši kodo dalis nukopijuokite diapazoną nuo B2 iki F9 iš pavadintas lapas Duomenų rinkinys ir įklijuokite B2 Diapazonas CopyPaste pavadintas lapas .
- Tada paspauskite F5 klaviatūroje arba meniu juostoje pasirinkite Run -> Run Sub/UserForm Taip pat galite tiesiog spustelėti maža piktograma "Play submeniu juostoje, kad paleistumėte makrokomandą.
Pažvelkite į šį paveikslėlį.
Galiausiai visi duomenys iš Duomenų rinkinys lapas dabar kopijuojamas į CopyPaste "Excel" darbo knygos lapą.
Skaityti daugiau: "Excel VBA": diapazono kopijavimas į kitą darbaknygę
2. VBA makrokomandos kopijuoti ir įklijuoti duomenis iš vieno aktyvaus darbalapio į kitą "Excel" programoje
Ankstesniame skyriuje nereikalavome, kad darbalapis būtų aktyvuotas. Tačiau šiame skyriuje sužinosime, kaip kopijuoti ir įklijuoti duomenis aktyviame darbalapyje. .
Žingsniai:
- Kaip ir anksčiau, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange, nukopijuokite šį kodą ir įklijuokite jį.
Sub CopyPasteToAnotherActiveSheet() 'Nukopijuoti duomenis iš pradinio lapo Sheets("Dataset").Range("B2:F9").Copy 'Aktyvinti paskirties lapą Sheets("Paste").Activate 'Pasirinkti paskirties diapazoną Range("B2").Select 'Įklijuoti į paskirties ActiveSheet.Paste Application.CutCopyMode = False End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti kodą, kaip parodyta pirmiau, ir pamatysite rezultatą toliau pateiktame paveikslėlyje.
Šį kartą visi duomenys iš Duomenų rinkinys lapas dabar kopijuojamas į Pasta lapą, kurį aktyvavome prieš kopijuodami duomenis.
Skaityti daugiau: "Excel" formulė tekstui kopijuoti iš vienos ląstelės į kitą lapą
3. Kopijuokite ir įklijuokite vieną ląstelę iš vieno darbalapio į kitą "Excel" programoje naudodami VBA makrokomandą
Ankstesniuose skyriuose sužinojote, kaip kopijuoti ir įklijuoti duomenų intervalą iš vienos darbalapio į kitą. Dabar pamatysite, kaip nukopijuokite ir įklijuokite, kai turite vieną duomenų vienetą. "Excel" skaičiuoklėje.
Pažvelkite į toliau pateiktą paveikslėlį. Diapazonas lapą sudaro tik viena reikšmė.
Pažiūrėsime, kaip galime nukopijuokite ir įklijuokite šią ląstelę į kitą lapą "Excel" programoje su VBA .
Žingsniai:
- Kaip parodyta pirmiau, atviras "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Kodo lange, nukopijuokite šį kodą ir įklijuokite
Sub CopyPasteSingleRangeToAnotherSheet() Worksheets("Range").Range("B4").Copy Worksheets("CopyRange").Range("B2") End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šią kodo dalį ir pastebėkite šį vaizdą.
Šie vieninteliai duomenys " Kopijuoti šią ląstelę " in Ląstelė B4 į Duomenų rinkinys lapas dabar kopijuojamas į CopyRange lapas, esantis Ląstelė B2 .
Skaityti daugiau: "Excel VBA" kopijuoti tik reikšmes į paskirties vietą (makrokomandos, UDF ir vartotojo formos)
4. Nukopijuotų duomenų įklijavimas iš vieno darbalapio į kitą naudojant "Excel" makrokomandos "PasteSpecial" metodą
Galite nukopijuoti duomenis iš vieno darbalapio ir įklijuoti juos įvairiais būdais su "Excel PasteSpecial metodą su VBA . Toliau pateikiami veiksmai, kaip tai padaryti.
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyPasteSpecial() Worksheets("Dataset").Range("B2:F9").Copy Worksheets("PasteSpecial").Range("B2").PasteSpecial End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šią kodo dalį.
Pažvelkite į pirmiau pateiktą paveikslėlį. Duomenys iš Duomenų rinkinys lapas dabar perkeliamas į PasteSpecial "Excel" lape.
Skaityti daugiau: VBA specialusis įterpimas, skirtas kopijuoti vertes ir formatus "Excel" programoje (9 pavyzdžiai)
5. Makrokomanda, skirta nukopijuoti ir įklijuoti duomenis, esančius žemiau paskutinio langelio, iš vienos darbalapio į kitą "Excel" programoje
Kai kuriuos duomenis jau turime Duomenų rinkinys lapą (parodytą įvadiniame skyriuje). Dabar pažvelkite į būsimą šio skyriaus dalį. Dabar turime naujų duomenų kitame lape, pavadintame Paskutinė ląstelė .
Mes norime padaryti tai, kad kopijuoti konkrečius duomenis (ląstelės B5-F9). iš Duomenų rinkinys lapas ir įklijuokite tie, kurie po paskutiniu langeliu šio Paskutinė ląstelė lapas.
Žingsniai:
- Pirma, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antra, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyPasteBelowTheLastCell() 'Nustatykite kintamuosius Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Nustatykite kintamuosius šaltinio ir paskirties lapams Set wsSource = Worksheets("Duomenų rinkinys") Set wsTarget = Worksheets("Paskutinė ląstelė") 'Raskite paskutinę panaudotą eilutę šaltinio lape pagal B stulpelio duomenis iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'Rasti pirmą tuščią eilutę paskirties lape pagal B stulpelio duomenis 'Offset savybė skirta nukopijuotiems duomenims perkelti 1 eilute žemyn iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Nukopijuoti duomenis iš šaltinio ir įklijuoti į paskirties wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B" & iTargetLastRow) End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šį kodą. Pažvelkite į toliau pateiktą paveikslėlį.
Čia tik atrinktus duomenis iš Duomenų rinkinys lapas dabar yra nukopijuotas po paskutiniu langeliu Paskutinė ląstelė lapas "Excel" programoje.
Skaityti daugiau: Verčių kopijavimo ir įkėlimo "Excel" programoje formulė (5 pavyzdžiai)
6. VBA makrokomanda, skirta pirmiausia išvalyti darbalapį, tada kopijuoti ir įklijuoti į kitą darbalapį
Ką daryti, jei esančiame lape turite neteisingus duomenis ir norite išskirti originalius duomenis.
Pažvelkite į šį paveikslėlį. ištrinti duomenis iš Aiškus diapazonas lape ir čia saugokite duomenis iš Duomenų rinkinys lapas su VBA kodas.
Žingsniai:
- Pirma, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antra, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub ClearAndCopyPasteData() 'Nustatykite kintamuosius Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Nustatykite kintamuosius šaltinio ir paskirties lapams Set wsSource = Worksheets("Duomenų rinkinys") Set wsTarget = Worksheets("Išvalyti diapazoną") 'Raskite paskutinę panaudotą eilutę šaltinio lape pagal B stulpelio duomenis iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'Rasti pirmąją tuščią eilutę paskirties lape pagal B stulpelio duomenis 'Offset savybė skirta nukopijuotiems duomenims perkelti 1 eilute žemyn iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Išvalyti duomenis iš paskirties diapazono wsTarget.Range("B5:F9" & iTargetLastRow).ClearContents 'Nukopijuoti duomenis iš šaltinio ir įklijuoti į paskirties lapąwsSource.Range("B5:F9" & amp; iSourceLastRow).Copy wsTarget.Range("B5") End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šią kodo dalį. Pažvelkite į šį paveikslėlį.
Ankstesni duomenys Aiškus diapazonas lape dabar vietoj duomenų iš Duomenų rinkinys lapas.
Skaityti daugiau: Duomenų kopijavimo iš vieno sąsiuvinio į kitą pagal kriterijus makrokomanda
7. Duomenų kopijavimo ir įklijavimo iš vieno darbalapio į kitą makrokomanda, naudojant funkciją Range.Copy
Dabar išmoksime VBA kodą, kaip kopijuoti ir įklijuoti duomenis iš vienos darbalapio į kitą. su Range.Copy funkciją "Excel" programoje.
Žingsniai:
- Pirma, atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antra, nukopijuokite šį kodą ir įklijuokite jį įveskite į kodo langą.
Sub CopyWithRangeCopyFunction() 'Nustatykite kintamuosius Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Nustatykite kintamuosius šaltinio ir paskirties lapams Set wsSource = Worksheets("Duomenų rinkinys") Set wsTarget = Worksheets("Kopijavimo diapazonas") 'Nukopijuokite duomenis iš šaltinio ir įklijuokite į paskirties lapą Call wsSource.Range("B2:F9").Copy(wsTarget.Range("B2")) End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šią kodo dalį ir pažiūrėkite į toliau pateiktą paveikslėlį.
Sėkmingai dubliuojame duomenis iš Duomenų rinkinys lapą, esantį Kopijavimo diapazonas lapas su Range.Copy funkcija.
Skaityti daugiau: "Excel" formulė ląstelės vertei nukopijuoti į kitą ląstelę
Panašūs skaitiniai
- "Excel VBA" eilučių kopijavimas į kitą darbalapį pagal kriterijus
- Naudokite VBA, norėdami "Excel" programoje įklijuoti tik vertes be formatavimo
- Kaip "Excel" programoje kopijuoti ir įklijuoti tik matomas ląsteles (3 paprasti būdai)
- "Excel" programoje neveikia kopijavimas ir įklijavimas (9 priežastys ir sprendimai)
- Kaip nukopijuoti kelias eilutes "Excel" programoje naudojant makrokomandą (4 pavyzdžiai)
8. Įgyvendinkite makrokomandos kodą, kad dubliuotumėte duomenis iš vieno darbalapio į kitą naudodami USEDRANGE savybę
Šį kartą sužinosime VBA kodą, kaip kopijuoti ir įklijuoti duomenis iš vienos darbalapio į kitą. su NaudotasRange atributas "Excel" programoje.
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyWithUsedRange() 'Nustatykite kintamuosius Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Nustatykite kintamuosius šaltinio ir paskirties lapams Set wsSource = Worksheets("Duomenų rinkinys") Set wsTarget = Worksheets("UsedRange") 'Nukopijuokite duomenis iš šaltinio ir įklijuokite į paskirties lapą Call wsSource.UsedRange.Copy(wsTarget.Cells(2, 2)) End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šią kodo dalį.
Kaip matome paveikslėlyje, sėkmingai nukopijavome ir įklijavome duomenis iš Duomenų rinkinys lape, esančiame NaudotasRange lapas su NAUDOJAMASRANGE nuosavybė.
Skaityti daugiau: Kaip nukopijuoti tą pačią reikšmę keliose "Excel" ląstelėse (4 metodai)
9. VBA makrokomanda, skirta kopijuoti ir įklijuoti pasirinktus duomenis iš vieno "Excel" lapo į kitą
Galite kopijuoti ir įklijuoti tik kai kuriuos pasirinktus duomenis iš vienos darbalapio į kitą. su VBA . Toliau pateikiami žingsniai, kaip tai padaryti.
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyPasteSelectedData() 'Nustatykite kintamuosius Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Nustatykite kintamuosius šaltinio ir paskirties lapams Set wsSource = Worksheets("Duomenų rinkinys") Set wsTarget = Worksheets("Paste Selected") 'Nukopijuokite duomenis iš šaltinio wsSource.Range("B4:F7").Copy 'Įkelkite duomenis į paskirties lapą Call wsTarget.Range("B2").PasteSpecial(Paste:=xlPasteValues) End Sub
Dabar jūsų kodas paruoštas paleisti.
Šis kodas kopijuoti tik diapazoną nuo B4 iki F7 iš Duomenų rinkinys lapas ir įklijuokite B2 Diapazonas PasteSelected pavadintas lapas .
- Kitas, Paleisti šį kodą.
Galiausiai, tik atrinkti duomenys iš Duomenų rinkinys lapas sėkmingai nukopijuotas ir įklijuotas į Įklijuoti pasirinktą "Excel" sąsiuvinio lapą.
Skaityti daugiau: Kaip taikyti VBA PasteSpecial ir išlaikyti šaltinio formatavimą "Excel" programoje
10. Makro kodas, skirtas dubliuoti duomenis iš vieno darbalapio į kitą pirmoje tuščioje eilutėje
Čia pamatysime, kaip kopijuoti duomenis iš Duomenų rinkinys lapas ir įklijuokite tie, kurie yra pirmoji tuščia ląstelė kitame darbalapyje "Excel" programoje su VBA .
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub FirstBlankCell() Range("B2:F9", Range("B" & amp; Rows.Count).End(xlUp)).Copy Sheet13.Range("A65536").End(xlUp) End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šią kodo dalį.
Žr. pirmiau pateiktą paveikslėlį. Lapas13 buvo visiškai tuščia. Todėl vykdomas kodas įklijavo nukopijuotus duomenis iš Duomenų rinkinys lapas labai pirmasis langelis į Lapas13 "Excel" lape.
Skaityti daugiau: Verčių kopijavimas ir įklijavimas į kitą tuščią eilutę naudojant "Excel VBA" (3 pavyzdžiai)
11. Įdiegti VBA, kad nukopijuotumėte ir įklijuotumėte automatiškai filtruotus duomenis iš vieno "Excel" lapo į kitą
Galime filtruoti šaltinio duomenų rinkinį ir kopijuoti bei įklijuoti tik filtruotus duomenis į kitą darbalapį. Šiame straipsnyje sužinosite, kaip tai padaryti žingsnis po žingsnio. VBA .
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Option Explicit Sub AutoFilter() Range("B4:B101").AutoFilter 1, "Dean" Range("B4:F9").Copy Sheet17.Range("B" & amp; Rows.Count).End(xlUp)(2) Range("B4").AutoFilter End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šį kodą. Tik eilutėje, kurioje yra " Deanas ", bus filtruojamas ir kopijuojamas kitame lape.
Atkreipkite dėmesį į pirmiau pateiktą paveikslėlį. Tik išfiltruoti duomenys " Deanas " iš B stulpelis dabar nukopijuotas ir įterptas į Lapas15 lapas.
Skaityti daugiau: Kaip kopijuoti ir įklijuoti "Excel" naudojant VBA (7 metodai)
Panašūs skaitiniai
- Kaip automatiškai filtruoti ir kopijuoti matomas eilutes naudojant "Excel VBA
- Unikalių verčių kopijavimas į kitą "Excel" darbalapį (5 metodai)
- Kaip kopijuoti sujungtas ir filtruotas ląsteles "Excel" programoje (4 metodai)
- Vykdymo laiko klaida 1004: nepavyko įterpti diapazono klasės specialaus metodo
- Kaip įterpti nuorodą ir transponuoti "Excel" (8 greiti būdai)
12. Įklijuokite eilutę diapazono apačioje, išlaikydami nukopijuotą formulę iš aukščiau esančio diapazono
Kai norite nukopijuoti reikšmę ir išsaugoti joje esančią formulę įklijuojant jį į kitą eilutę, tada su VBA kodą, galite lengvai atlikti užduotį.
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub PasteRowWithFormulaFromAbove() Rows(Range("B" & Rows.Count).End(xlUp).Row).Copy Rows(Range("B" & Rows.Count).End(xlUp).Row + 1).Insert xlDown End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šį kodą ir pažiūrėkite į toliau pateiktą paveikslėlį.
Svetainė paskutinė eilutė nukopijuojama lygiai tokia pati, kokia yra gretimoje eilutėje.
Skaityti daugiau: Kaip automatiškai nukopijuoti duomenis iš vienos "Excel" ląstelės į kitą
13. VBA duomenų kopijavimas iš vieno lapo į kitą lapą kitame atidarytame, bet neišsaugotame sąsiuvinyje
Atkreipkite dėmesį į mūsų pavyzdžio darbaknygės pavadinimą, Šaltinio sąsiuvinis . Nukopijuosime duomenis iš Duomenų rinkinys lapą iš šio sąsiuvinio ir įklijuokite jį į kitą darbalapį kitame sąsiuvinyje pavadinimu Tikslas Darbo knyga tai yra atidaryti, bet dar neišsaugoti .
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyOneFromAnotNotSaved() Workbooks("Source Workbook").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("Destination Workbook").Worksheets("Sheet1").Range("B2") End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šį kodą.
Duomenys iš Duomenų rinkinys lapą, esantį Šaltinio sąsiuvinis dabar kopijuojamas į 1 lapas lape, esančiame Tikslas Darbo knyga .
Skaityti daugiau: "Excel VBA": ląstelės reikšmės kopijavimas ir įklijavimas į kitą ląstelę
14. Makrokomanda, skirta duomenims iš vieno lapo atkurti kitame atidarytame ir išsaugotame sąsiuvinyje esančiame kitame lape
Šį kartą mes nukopijuoti duomenis iš Duomenų rinkinys lapas iš Šaltinio sąsiuvinis ir įklijuokite jį į Lapas2 darbalapį, esantį Tikslas Darbo knyga . Bet dabar atidarytas ir išsaugotas sąsiuvinis .
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyOneFromAnotherSaved() Workbooks("Source Workbook.xlsm").Worksheets("Dataset").Range("B2:F9").Copy _ Workbooks("Destination Workbook.xlsx").Worksheets("Sheet2").Range("B2") End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šį kodą.
Duomenys iš Duomenų rinkinys lape, esančiame Šaltinio sąsiuvinis dabar kopijuojamas į Lapas2 lape, esančiame Tikslas Darbo knyga . Ir pažvelkite į pavadinimą, tai darbo knyga buvo išsaugota šį kartą.
Skaityti daugiau: Kaip kopijuoti ir įklijuoti "Excel" programoje nekeičiant formato
15. Taikykite VBA, kad nukopijuotumėte ir įklijuotumėte duomenis iš vienos darbalapio į kitą darbalapį kitame uždarytame sąsiuvinyje
Ankstesniuose dviejuose skyriuose sužinojome, kaip nukopijuoti ir įklijuoti duomenis iš vieno darbalapio į kitą atidarytame sąsiuvinyje. Šiame skyriuje sužinosime kodą, kaip kopijuoti ir įklijuoti duomenis, kai darbo knyga uždaryta. .
Žingsniai:
- Pirmiausia atidarykite "Visual Basic" redaktorius iš Kūrėjas skirtukas ir Įdėkite a Modulis kodo lange.
- Antrasis, nukopijuokite šį kodą ir įklijuokite į kodo langą.
Sub CopyOneFromAnotherClosed() 'Norėdami atidaryti jūsų sistemoje išsaugotą sąsiuvinį, 'pakeiskite toliau pateiktą kelią pagal savo failo vietą sistemoje Workbooks.Open "D:\ExcelWIKI\Excel Folder\Destination Workbook.xlsx" 'Nukopijuoja duomenis iš sąsiuvinio, pavadinto Source Workbook, ir 'įklijuoja juos į tikslinį sąsiuvinį, pavadintą Destination Workbook Workbooks("SourceWorkbook").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("Destination Workbook").Worksheets("Sheet3").Range("B2") 'Uždaryti tikslinį sąsiuvinį po išsaugojimo Workbooks("Destination Workbook").Close SaveChanges:=True End Sub
Dabar jūsų kodas paruoštas paleisti.
- Kitas, Paleisti šį kodą.
Nors šį kartą sąsiuvinis buvo uždarytas, tačiau po kodo vykdymo duomenys iš Duomenų rinkinys lape, esančiame Šaltinio sąsiuvinis dabar kopijuojamas į Lapas3 lape, esančiame Tikslas Darbo knyga .
Skaityti daugiau: "Excel VBA" duomenų kopijavimas iš kito sąsiuvinio neatidarant
Dalykai, kuriuos reikia prisiminti
- Taikant 1-14 metodus reikia atidaryti sąsiuvinius. . Vykdydami šiuose metoduose nurodytus makrokomandų kodus, nepamirškite laikyti atidarytų tiek pradinio, tiek paskirties sąsiuvinių.
- Nors jūsų darbaknygės yra išsaugotos, tada įrašykite failo pavadinimą su failo tipu kodo viduje. Kai sąsiuviniai neišsaugomi, tada įrašykite tik failo pavadinimą. be failo tipo. Pavyzdžiui, jei jūsų darbo knyga yra išsaugota , tada rašykite " Kelionės tikslas. xlsx ", bet jei darbaknygė neišsaugoma , tada rašykite " Paskirties vieta " kodo viduje.
Išvada
Šiame straipsnyje parodyta, kaip kopijuoti ir įklijuoti duomenis iš vienos darbalapio į kitą. "Excel" programoje su VBA . tikiuosi, kad šis straipsnis jums buvo labai naudingas. Drąsiai klauskite, jei turite klausimų šia tema.