Automatinis užpildymas naudojant makrokomandą - VBA kodo pavyzdžiai

Automatinis pildymas VBA

Šiame straipsnyje parodyta, kaip naudoti automatinį pildymą VBA.

Automatinis pildymas yra puikus „Excel“ įrankis, kai duomenys kartojasi arba yra nuoseklūs (pvz., Savaitės dienos, datos, metų mėnesiai ir kt.). Paprastai pirmąsias porą langelių užpildysime reikalingais duomenimis, o tada naudodami automatinį pildymą nukopijuosime reikiamus duomenis į pasirinktą diapazoną.

Visa tai galima padaryti naudojant VBA makrokomandą.

Automatinis pildymas naudojant didėjančius skaičius

Pirma, savo kode galime deklaruoti du diapazono kintamuosius.

Pasirinkimas1 yra diapazonas su automatiškai užpildomais duomenimis, pavyzdžiui, 1 ir 2.

Pasirinkimas2 yra visą diapazonas iki automatinio užpildymo, tai apima pirmąjį diapazoną ir tuščias automatinio užpildymo vietas.

Tada mes naudojame automatinio pildymo metodą, kad užpildytume antrąjį pasirinkimo diapazoną.

123456789101112131415 Viešas papildomas „MyAutoFill“ ()„Easyexcel.net“„Deklaruoti diapazono kintamuosiusBloko pasirinkimas1 Kaip diapazonasDim pasirinkimas2 As Range„Nustatyti diapazono kintamuosius = atitinkami jų diapazonaiNustatykite pasirinkimą1 = Sheet1.Range ("A1: A2")Nustatykite pasirinkimą2 = Sheet1.Range ("A1: A12")'Automatinis pildymaspasirinkimas1.Automatinio pildymo paskirtis: = pasirinkimas2Pabaiga Sub

Tada galime paleisti makrokomandą iki automatinio pildymo diapazono (A1: A12).

Kai naudojame automatinio pildymo metodą, galime pasirinkti norimo atlikti automatinio pildymo tipą. Pirmiau pateiktame pavyzdyje nenurodėme automatinio pildymo tipo, o tai reiškia, kad buvo naudojamas numatytasis tipas - šiuo atveju kiekvienoje eilutėje skaičiai padidinami 1.

Automatinis pildymas naudojant mėnesius

Makrokomanda, skirta automatiškai užpildyti naudojant mėnesius, yra beveik identiška ta, kuri naudojama skaičiams didinti, išskyrus vieną svarbią išimtį.

1234567891011 Viešas papildomas automatinis užpildymas„Easyexcel.net“„Deklaruoti diapazono kintamuosiusBloko pasirinkimas1 Kaip diapazonasDim pasirinkimas2 As Range„Nustatyti diapazono kintamuosius = atitinkami jų diapazonaiNustatykite pasirinkimą1 = Sheet1.Range ("A1: A2")Nustatykite pasirinkimą2 = Sheet1.Range ("A1: A12")'Automatiškai užpildykite mėnesiusAutomatinio pildymo tikslas: = pasirinkimas2, tipas: = xlFillMonthsPabaiga Sub

Kai užpildome automatinio pildymo tipą, mums suteikiama galimybė pasirinkti daugybę „Excel“ konstantų. Jei to nenurodysime, „Excel“ nustatys užpildytinų duomenų tipą iš pateiktų pradinių duomenų.

„Excel“ gali rinkti standartines serijas, tokias kaip mėnesiai, savaitės dienos ir papildomi skaičiai, tačiau nereikia naudoti argumento „Tipas“.

Automatinis pildymas naudojant „xlFillCopy“

Jei norime naudoti automatinio pildymo makrokomandą, norėdami nukopijuoti informaciją į naujus langelius, galime naudoti „xlFillCopy Constant“.

1234567 Viešas papildomas automatinis užpildymas ()„Dim Selection1“ kaip diapazonas„Dim Selection2“ kaip diapazonasNustatykite pasirinkimą1 = Sheet1.Range ("A1: A1")Nustatykite pasirinkimą2 = Sheet1.Range ("A1: A12")Pasirinkimas 1. Automatinio pildymo paskirtis: = Pasirinkimas2, Tipas: = xlFillCopyPabaiga Sub

Vykdant šią makrokomandą diapazono („A1“) duomenys nukopijuojami į diapazoną („A1: A12“), o ne automatiškai užpildomi langeliai vėlesniais mėnesiais nuo „sausio“.

Automatinis pildymas naudojant „xlFlashFill“

Kai „Excel“ reikia konvertuoti tekstą į stulpelius, galime naudoti tekstą į stulpelius arba parinktį, pavadintą „Flash Fill“. Tai labai naudinga VBA.

Paimkite, pavyzdžiui, šiuos duomenis:

Mes galime įvesti pavardę „Tolley“ langelyje B2, o tada naudoti makrokomandą, kad „Flash“ užpildytumėte likusius duomenis.

1234567 Papildomas „FlashFill“ ()„Dim Selection1“ kaip diapazonas„Dim Selection2“ kaip diapazonasNustatykite pasirinkimą1 = diapazonas ("B2: B2")Nustatykite pasirinkimą2 = diapazonas ("B2: B15")Pasirinkimas 1. Automatinio pildymo paskirtis: = Pasirinkimas2, Tipas: = xlFlashFillPabaiga Sub

Tada galime pakartoti šiuos valios stulpelius C, D ir E, kad gautume likusius duomenis.

1234567891011 Nustatykite pasirinkimą1 = diapazonas ("C2: C2")Nustatyti pasirinkimą2 = diapazonas ("C2: C15")Pasirinkimas 1. Automatinio pildymo paskirtis: = Pasirinkimas2, Tipas: = xlFlashFillNustatykite pasirinkimą1 = diapazonas ("D2: D2")Nustatyti pasirinkimą2 = diapazonas ("D2: D15")Pasirinkimas 1. Automatinio pildymo paskirtis: = Pasirinkimas2, Tipas: = xlFlashFillNustatykite pasirinkimą1 = diapazonas ("E2: E2")Nustatyti pasirinkimą2 = diapazonas ("E2: E15")Pasirinkimas 1. Automatinio pildymo paskirtis: = Pasirinkimas2, Tipas: = xlFlashFill

Tada kiekvienas stulpelis bus užpildytas atitinkamais duomenimis, remiantis 2 eilutės reikšme.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave