Makro, kad būtų perkelti ar kopijuoti duomenis tarp „Excel“ darbaknygių
Šiame straipsnyje bus išmokyti, kaip kopijuoti arba perkelti duomenis tarp skaičiuoklių „ Microsoft Excel“ naudojant „VBA“. Šiame konkrečiame pavyzdyje mes taip pat išmokysime, kaip sujungti duomenis, naudodami priedų užklausą. Šis užduočių derinys leis jums sujungti esamų darbo lapų duomenis, kad būtų lengviau analizuoti.
„Macro“, kad perkeltumėte arba kopijuotumėte duomenis „Excel“
Paimkime atvejį, kai reikia kopijuoti duomenis iš vienos darbaknygos ir tada pakeisti turinį į kitą darbo knygą. Šiame pavyzdyje darbo knygoje (šaltinio darbaknygėje) yra 1 2 3 4 5 ir 2 darbaknygėje yra 6 7 8 9 0 .Po to, kai buvo atliktas makro darbas, dviejų darbų knygoje turėtų būti 6 7 8 9 0 1 2 3 4 5 . Abiejų darbo knygų formatai yra vienodi.
Čia yra makro, kuris gali perduoti ir pridėti jūsų duomenis. (Įsitikinkite, kad perskaitėte kodą PASTABA ):
Sub CopyData ()„Dim sBook_t“ kaip eilutė
„Dim sBook_s“ kaip eilutė
Dim sSheet_t Kaip eilutė
„Dim sSheet_s“ kaip eilutė
Dim lMaxRows_t Kaip ilgai
Dim lMaxRows_s Kaip ilgai
„Dim sMaxCol_s“ kaip eilutė
Dim sRange_t Kaip eilutė
„Dim sRange_s“ kaip eilutė
sBook_t = "Tiksliniai duomenys WB- Kopijuoti duomenis į WB.xls"
sBook_s = "Šaltinis duomenys WB - kopijuoti duomenis į WB.xls"
sSheet_t = "Tikslinis WB"
sSheet_s = "Šaltinis"
lMaxRows_t = Darbaknygės (sBook_t) .Lentelės (sSheet_t) .Žaidimai (eilutės.Skaičiuoti, „A“). Pabaiga (xlUp).
lMaxRows_s = Darbaknygės (sBook_s) .Lentelės (sSheet_s) .Žaidimai (eilutės.Skaičiavimas, „A“). Pabaiga (xlUp).
sMaxCol_s = Darbaknygės (sBook_s). Lapai (sSheet_s) .Kelės (1, Columns.Count) .End (xlToLeft) .Address
sMaxCol_s = Vidurio (sMaxCol_s, 2, InStr (2, sMaxCol_s, "$") - 2)
Jei (lMaxRows_t = 1) Tada
sRange_t = "A1:" & sMaxCol_s & lMaxRows_s
sRange_s = "A1:" & sMaxCol_s & lMaxRows_s
Darbaknygės (sBook_t) .Lentelės (sSheet_t) .Range (sRange_t) = Darbaknygės (sBook_s). Lapai (sSheet_s) .Range (sRange_s).
Kitas
sRange_t = "A" & (lMaxRows_t + 1) & ":" & sMaxCol_s & (lMaxRows_t + lMaxRows_s - 1)
sRange_s = "A2:" & sMaxCol_s & lMaxRows_s
Darbaknygės (sBook_t) .Lentelės (sSheet_t) .Range (sRange_t) = Darbaknygės (sBook_s). Lapai (sSheet_s) .Range (sRange_s).
„################################# PASTABA #################
„serijos numeris turi būti naudojamas taip pat turi būti nustatytas, o ne kopijuojamas
„jei nereikia, ištrinkite žemiau esančią eilutę
Darbaknygės (sBook_t) .Lentelės (sSheet_t) .Range („A“ ir „lMaxRows_t“). Automatinis užpildymo tikslas: = darbo knygos (sBook_t). Lapai (sSheet_t). - 1)), tipas: = xlFillSeries
Baigti Jei
Pabaiga