Makrokomandos kopijavimui ir įklijavimui iš vieno darbalapio į kitą (15 metodų)

  • Pasidalinti
Hugh West

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 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 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 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 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). Duomenų rinkinys lapas ir įklijuokite tie, kurie po paskutiniu langeliu šio Paskutinė ląstelė lapas.

Žingsniai:

  • Pirma, atidarykite "Visual Basic" redaktorius 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 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 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 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 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 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 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 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 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 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 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 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 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 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.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.