Samodejno izpolnjevanje z makro - primeri kode VBA

Samodejno izpolnjevanje v VBA

Ta članek prikazuje, kako uporabljati samodejno izpolnjevanje v VBA.

Samodejno izpolnjevanje je odlično orodje v Excelu, kadar se podatki ponavljajo ali so zaporedni (na primer dnevi v tednu, datumi, meseci v letu itd.). Običajno bi prvih nekaj celic napolnili z zahtevanimi podatki, nato pa s funkcijo samodejnega izpolnjevanja zahtevane podatke kopirali v izbrano območje.

Vse to lahko storite z uporabo makra VBA.

Samodejno izpolnjevanje s povečevanjem števil

Prvič, v naši kodi lahko razglasimo dve spremenljivki obsega.

Izbor 1 je obseg s podatki za samodejno izpolnjevanje - na primer 1 in 2.

Izbor 2 je celoten obseg za samodejno izpolnjevanje, to vključuje prvi obseg in prazna mesta za samodejno izpolnjevanje.

Nato z metodo samodejnega izpolnjevanja zapolnimo drugo območje izbire.

123456789101112131415 Javno pod MyAutoFill ()"avtor easyexcel.net'Razglasite spremenljivke obsegaZatemnitev izbire 1 As RangeZatemnitev izbire 2 As Range'Spremenljivke obsega = njihovi ustrezni obsegiSet selection1 = Sheet1.Range ("A1: A2")Set selection2 = Sheet1.Range ("A1: A12")'Samodejno izpolnjevanjeizbor 1. Cilj samodejnega izpolnjevanja: = izbira2End Sub

Nato lahko zaženemo makro do območja samodejnega izpolnjevanja (A1: A12).

Ko uporabljamo metodo samodejnega izpolnjevanja, lahko izberemo vrsto samodejnega izpolnjevanja, ki jo želimo izvesti. V zgornjem primeru nismo določili vrste samodejnega izpolnjevanja, kar pomeni, da je bila uporabljena privzeta vrsta - v tem primeru povečanje številk za 1 v vsaki vrstici.

Samodejno izpolnjevanje z uporabo mesecev

Makro za samodejno izpolnjevanje z meseci je skoraj enak tistemu, ki se uporablja za povečanje števila, z eno pomembno izjemo.

1234567891011 Javno pomožno samodejno izpolnjevanjeMeseci ()"avtorja easyexcel.net'Razglasite spremenljivke obsegaZatemnitev izbire 1 As RangeZatemnitev izbire 2 As Range'Spremenljivke obsega = njihovi ustrezni obsegiSet selection1 = Sheet1.Range ("A1: A2")Set selection2 = Sheet1.Range ("A1: A12")»Samodejno izpolni meseceCilj samodejnega izpolnjevanja: = selection2, Vrsta: = xlFillMonthsEnd Sub

Ko vnesemo vrsto samodejnega izpolnjevanja, imamo na izbiro številne Excelove konstante. Če tega izpustimo, bo Excel določil vrsto podatkov, ki jih je treba izpolniti, iz prvotnih podatkov.

Excel lahko pobere standardne serije, kot so meseci, dnevi v tednu in prirastna števila, ne da bi bilo treba uporabiti argument Type.

Samodejno izpolnjevanje z uporabo xlFillCopy

Če želimo uporabiti makro samodejnega izpolnjevanja za kopiranje podatkov v nove celice, lahko uporabimo konstanto xlFillCopy.

1234567 Javno pomožno samodejno izpolnjevanje ()Dim Selection1 As RangeDim Selection2 As RangeSet Selection1 = Sheet1.Range ("A1: A1")Set Selection2 = Sheet1.Range ("A1: A12")Izbor 1. Cilj samodejnega izpolnjevanja: = Izbor2, Vrsta: = xlFillCopyEnd Sub

Izvajanje tega makra bi kopiralo podatke v obsegu (»A1«) navzdol v obseg (»A1: A12«) in ne samodejno napolnilo celice z naslednjimi meseci od »januarja«.

Samodejno izpolnjevanje z uporabo xlFlashFill

Ko moramo pretvoriti besedilo v stolpce v Excelu, lahko uporabimo možnost besedila v stolpce ali pa možnost, imenovano Flash Fill. To je zelo uporabno v VBA.

Vzemite na primer naslednje podatke:

V celico B2 lahko vnesemo priimek »Tolley« in nato z makrom Flash zapolnimo preostale podatke.

1234567 Sub FlashFill ()Dim Selection1 As RangeDim Selection2 As RangeSet Selection1 = Range ("B2: B2")Set Selection2 = Range ("B2: B15")Izbor 1. Cilj samodejnega izpolnjevanja: = Izbor2, Vrsta: = xlFlashFillEnd Sub

Nato lahko ponovimo stolpce C, D in E, da dobimo preostale podatke.

1234567891011 Set Selection1 = Range ("C2: C2")Set Selection2 = Range ("C2: C15")Izbor 1. Cilj samodejnega izpolnjevanja: = Izbor2, Vrsta: = xlFlashFillSet Selection1 = Range ("D2: D2")Set Selection2 = Range ("D2: D15")Izbor 1. Cilj samodejnega izpolnjevanja: = Izbor2, Vrsta: = xlFlashFillSet Selection1 = Range ("E2: E2")Set Selection2 = Range ("E2: E15")Izbor 1. Cilj samodejnega izpolnjevanja: = Izbor2, Vrsta: = xlFlashFill

Vsak stolpec se nato napolni z ustreznimi podatki na podlagi vrednosti v 2. vrstici.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave