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.