Automatikus kitöltés makróval - VBA kódpéldák

Automatikus kitöltés a VBA -ban

Ez a cikk bemutatja, hogyan kell használni az automatikus kitöltést a VBA -ban.

Az Automatikus kitöltés nagyszerű eszköz az Excelben, ha az adatok ismétlődnek, vagy ha sorban vannak (például a hét napjai, dátumok, év hónapjai stb.). Általában az első pár cellát megtöltenénk a szükséges adatokkal, majd az Automatikus kitöltés segítségével másoljuk le a szükséges adatokat egy kiválasztott tartományba.

Mindezt egy VBA makró segítségével lehet elvégezni.

Automatikus kitöltés növekvő számok használatával

Először is, a kódunkban két tartományváltozót deklarálhatunk.

A Selection1 az automatikus kitöltésű adattartomány - például az 1 és 2.

A kiválasztás2 az teljes tartomány az automatikus kitöltésig, ez magában foglalja az első tartományt és az automatikus kitöltéshez szükséges üres helyeket.

Ezután az AutoFill módszert használjuk a második kiválasztási tartomány kitöltésére.

123456789101112131415 Nyilvános al -automatikus kitöltés ()"az easyexcel.net'A tartomány változóinak deklarálásaHalvány kiválasztás1 Mint tartományHalvány kiválasztás2 mint tartomány'Tartományváltozók beállítása = azok tartományaiKiválasztás beállítása = Lap1. Tartomány ("A1: A2")Kijelölés beállítása2 = Lap1. Tartomány ("A1: A12")'Automatikus kitöltésKiválasztás 1. Automatikus kitöltés Cél: = kiválasztás2End Sub

Ezután futtathatjuk a makrót az Automatikus kitöltési tartományba (A1: A12).

Amikor az AutoFill módszert használjuk, kiválaszthatjuk az elvégzendő automatikus kitöltés típusát. A fenti példában nem adtuk meg az automatikus kitöltés típusát, ami azt jelenti, hogy az alapértelmezett típust használták - ebben az esetben minden szám 1 -gyel növelve.

Automatikus kitöltés hónapokkal

A hónapok szerinti automatikus kitöltés makrója majdnem megegyezik a számok növelésére használt makróval, egy fontos kivétellel.

1234567891011 Nyilvános al -automatikus kitöltési hónapok ()"az easyexcel.net'A tartomány változóinak deklarálásaHalvány kiválasztás1 Mint tartományHalvány kiválasztás2 mint tartomány'Tartományváltozók beállítása = azok tartományaiKiválasztás beállítása = Lap1. Tartomány ("A1: A2")Kijelölés beállítása2 = Lap1. Tartomány ("A1: A12")'Töltse ki automatikusan a hónapokatAutomatikus kitöltés célja: = kiválasztás2, típus: = xlFillMonthsEnd Sub

Amikor kitöltjük az automatikus kitöltés típusát, számos Excel konstans közül választhatunk. Ha ezt kihagyjuk, az Excel a megadott eredeti adatokból határozza meg a kitöltendő adatok típusát.

Az Excel képes felvenni a szabványos sorozatokat, például a hónapokat, a hét napjait és a növekményes számokat a Típus argumentum használata nélkül.

Automatikus kitöltés az xlFillCopy használatával

Ha egy AutoFill makrót szeretnénk használni az információk új cellákba való másolásához, használhatjuk az xlFillCopy Constant -t.

1234567 Nyilvános al AutoFillCopy ()Dim Dimension Selection1 mint tartományDim Dimension Selection2 mint tartományKiválasztás beállítása = Lap1. Tartomány ("A1: A1")Set Selection2 = Sheet1.Range ("A1: A12")Kiválasztás 1. Automatikus kitöltés Cél: = Kiválasztás2, Típus: = xlFillCopyEnd Sub

Ennek a makrónak a futtatása a Tartomány („A1”) adatait a Tartományba („A1: A12”) másolja le, ahelyett, hogy automatikusan feltöltené a cellákat a „Jan” utáni hónapokkal.

Automatikus kitöltés az xlFlashFill használatával

Amikor Excelben szöveget kell oszlopokká alakítanunk, használhatjuk a szöveg oszlopokká opciót, vagy használhatjuk a Flash Fill nevű opciót. Ez rendkívül hasznos a VBA -ban.

Vegyük például a következő adatokat:

Beírhatjuk a „Tolley” vezetéknevet a B2 cellába, majd makró segítségével a Flashfill kitölthetjük a többi adatot.

1234567 Flash Flash Kitöltés ()Dim Dimension Selection1 mint tartományDim Selection2 mint tartománySet Selection1 = Tartomány ("B2: B2")Set Selection2 = Tartomány ("B2: B15")Kiválasztás 1. Automatikus kitöltés Cél: = Kiválasztás2, Típus: = xlFlashFillEnd Sub

Ezt követően megismételhetjük a C, D és E oszlopokat, hogy megkapjuk a fennmaradó adatokat.

1234567891011 Kiválasztás beállítása1 = Tartomány ("C2: C2")Set Selection2 = Tartomány ("C2: C15")Kiválasztás 1. Automatikus kitöltés Cél: = Kiválasztás2, Típus: = xlFlashFillSet Selection1 = Tartomány ("D2: D2")Set Selection2 = Tartomány ("D2: D15")Kiválasztás 1. Automatikus kitöltés Cél: = Kiválasztás2, Típus: = xlFlashFillSet Selection1 = Tartomány ("E2: E2")Set Selection2 = Tartomány ("E2: E15")Kiválasztás 1. Automatikus kitöltés Cél: = Kiválasztás2, Típus: = xlFlashFill

Ezután minden oszlop kitölti a megfelelő adatokat a 2. sor értéke alapján.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave