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.