Automātiskā aizpilde ar makro - VBA koda piemēri

Automātiskā aizpilde VBA

Šis raksts parāda, kā izmantot automātisko aizpildi VBA.

Automātiskā aizpilde ir lielisks rīks programmā Excel, ja dati atkārtojas vai ir secīgi (piemēram, nedēļas dienas, datumi, gada mēneši utt.). Mēs parasti aizpildītu pirmās pāris šūnas ar nepieciešamajiem datiem un pēc tam izmantotu automātisko aizpildi, lai nokopētu nepieciešamos datus līdz atlasītajam diapazonam.

To visu var izdarīt, izmantojot VBA makro.

Automātiskā aizpilde, izmantojot pieaugošos skaitļus

Pirmkārt, mūsu kodā mēs varam deklarēt divus diapazona mainīgos.

Atlase1 ir diapazons ar automātiski aizpildāmiem datiem, piemēram, 1 un 2.

Atlase2 ir vesels diapazons līdz automātiskai aizpildīšanai, tas ietver pirmo diapazonu un tukšās vietas automātiskai aizpildīšanai.

Pēc tam mēs izmantojam automātiskās aizpildes metodi, lai aizpildītu otro atlases diapazonu.

123456789101112131415 Publiskais apakšnodaļa MyAutoFill ()"vietnē easyexcel.net'Deklarēt diapazona mainīgosDim izvēle1 Kā diapazonsDim atlase2 As Range'Iestatīt diapazona mainīgos = to attiecīgos diapazonusIestatīt atlasi1 = lapa1. Diapazons ("A1: A2")Iestatīt atlasi2 = lapa1. Diapazons ("A1: A12")'Automātiskā aizpildeatlase 1. Automātiskās aizpildes galamērķis: = atlase2Beigu apakš

Pēc tam mēs varam palaist makro līdz automātiskās aizpildes diapazonam (A1: A12).

Izmantojot automātiskās aizpildes metodi, mēs varam izvēlēties automātiskās aizpildes veidu, kuru vēlamies veikt. Iepriekš minētajā piemērā mēs nenorādījām automātiskās aizpildes veidu, kas nozīmē, ka tika izmantots noklusējuma veids - šajā gadījumā skaitļus palielinot par 1 katrā rindā.

Automātiskā aizpilde, izmantojot mēnešus

Makro automātiskai aizpildīšanai, izmantojot mēnešus, ir gandrīz identisks tam, ko izmanto skaitļu palielināšanai, ar vienu svarīgu izņēmumu.

1234567891011 Publiskā apakšautomātiskā aizpildeMēneši ()"vietnē easyexcel.net'Deklarēt diapazona mainīgosDim izvēle1 Kā diapazonsDim atlase2 As Range'Iestatīt diapazona mainīgos = to attiecīgos diapazonusIestatīt atlasi1 = lapa1. Diapazons ("A1: A2")Iestatīt atlasi2 = lapa1. Diapazons ("A1: A12")'Automātiski aizpildiet mēnešusAutomātiskās aizpildes galamērķis: = atlase2, tips: = xlFillMonthsBeigu apakš

Aizpildot automātiskās aizpildes veidu, mums tiek dota virkne Excel konstantu, no kurām izvēlēties. Ja mēs to atstāsim, programma Excel no aizpildītajiem sākotnējiem datiem noteiks aizpildāmo datu veidu.

Excel spēj uzņemt standarta sērijas, piemēram, mēnešus, nedēļas dienas un papildu skaitļus, tomēr neizmantojot argumentu Tips.

Automātiskā aizpilde, izmantojot xlFillCopy

Ja mēs vēlamies izmantot automātiskās aizpildes makro, lai kopētu informāciju uz jaunām šūnām, mēs varam izmantot xlFillCopy Constant.

1234567 Publiskā apakšautomātiskā aizpilde ()Dim izvēle 1 kā diapazonsDim izvēle 2 kā diapazonsIestatīt atlasi1 = lapa1. Diapazons ("A1: A1")Set Selection2 = Sheet1.Range ("A1: A12")1. Automātiskās aizpildes galamērķis: = Atlase2, Tips: = xlFillCopyBeigu apakš

Izpildot šo makro, dati diapazonā (“A1”) tiktu nokopēti līdz diapazonam (“A1: A12”), nevis automātiski aizpildītu šūnas ar nākamajiem mēnešiem no “janvāra”.

Automātiskā aizpilde, izmantojot xlFlashFill

Kad programmā Excel ir jāpārvērš teksts par kolonnām, mēs varam vai nu izmantot teksta kolonnas opciju, vai arī opciju ar nosaukumu Flash Fill. Tas ir ļoti noderīgi VBA.

Ņemiet, piemēram, šādus datus:

Mēs varam ierakstīt uzvārdu “Tolley” šūnā B2 un pēc tam izmantot makro, lai Flash aizpildītu pārējos datus.

1234567 Papildu FlashFill ()Dim izvēle 1 kā diapazonsDim izvēle 2 kā diapazonsIestatīt atlasi1 = diapazons ("B2: B2")Iestatīt atlasi2 = diapazons ("B2: B15")Atlase 1. Automātiskās aizpildes galamērķis: = Atlase2, Tips: = xlFlashFillBeigu apakš

Pēc tam mēs varam atkārtot šīs testēšanas kolonnas C, D un E, lai iegūtu atlikušos datus.

1234567891011 Iestatīt atlasi1 = diapazons ("C2: C2")Iestatīt atlasi2 = diapazons ("C2: C15")Atlase 1. Automātiskās aizpildes galamērķis: = Atlase2, Tips: = xlFlashFillIestatīt atlasi1 = diapazons ("D2: D2")Iestatīt atlasi2 = diapazons ("D2: D15")Atlase 1. Automātiskās aizpildes galamērķis: = Atlase2, Tips: = xlFlashFillIestatīt atlasi1 = diapazons ("E2: E2")Iestatīt atlasi2 = diapazons ("E2: E15")Atlase 1. Automātiskās aizpildes galamērķis: = Atlase2, Tips: = xlFlashFill

Pēc tam katra kolonna tiks aizpildīta ar atbilstošiem datiem, pamatojoties uz 2. rindas vērtību.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave