Automaattinen täyttö VBA: ssa
Tässä artikkelissa kerrotaan, miten automaattista täyttöä käytetään VBA: ssa.
Automaattinen täyttö on loistava työkalu Excelissä, kun tiedot toistuvat tai jos ne ovat peräkkäisiä (kuten viikonpäivät, päivämäärät, vuoden kuukaudet jne.). Täytämme tavallisesti pari ensimmäistä solua tarvittavilla tiedoilla ja kopioimme sitten tarvittavat tiedot automaattiselle täytölle valitulle alueelle.
Kaikki tämä voidaan tehdä VBA -makron avulla.
Automaattinen täyttö käyttämällä kasvavia numeroita
Ensinnäkin koodissamme voimme ilmoittaa kaksi alue muuttujaa.
Valinta1 on alue, jossa tiedot täytetään automaattisesti - esimerkiksi 1 ja 2.
Valinta2 on koko alue automaattiseen täyttöön, tämä sisältää ensimmäisen alueen ja tyhjät tilat automaattiseen täyttöön.
Käytämme sitten automaattista täyttömenetelmää toisen valinta -alueen täyttämiseen.
123456789101112131415 | Julkinen osa MyAutoFill ()'kirjoittanut easyexcel.net'Ilmoita alueen muuttujatHimmennys1 As RangeHimmennys2 As Range'Aseta alueen muuttujat = niiden alueetAseta valinta1 = arkki1. Alue ("A1: A2")Aseta valinta2 = arkki1. Alue ("A1: A12")'Automaattinen täyttövalinta 1. automaattisen täytön kohde: = valinta2End Sub |
Voimme sitten suorittaa makron automaattisen täytön alueelle (A1: A12).
Kun käytämme automaattista täyttömenetelmää, voimme valita suoritettavan automaattisen täytön tyypin. Yllä olevassa esimerkissä emme määrittäneet automaattisen täytön tyyppiä, mikä tarkoittaa oletustyypin käyttöä - tässä tapauksessa lisäämällä numeroita yhdellä rivillä.
Automaattinen täyttö kuukausien avulla
Makro automaattiseen täyttöön kuukausia käyttäen on melkein identtinen numeroiden lisäämiseen käytetyn makron kanssa, lukuun ottamatta yhtä tärkeää poikkeusta.
1234567891011 | Julkinen alitason automaattinen täyttökuukausi ()'kirjoittanut easyexcel.net'Ilmoita alueen muuttujatHimmennys1 As RangeHimmennys2 As Range'Aseta alueen muuttujat = niiden alueetAseta valinta1 = arkki1. Alue ("A1: A2")Aseta valinta2 = arkki1. Alue ("A1: A12")'Täytä kuukaudet automaattisestiAutomaattisen täytön kohde: = valinta2, tyyppi: = xlFillMonthsEnd Sub |
Kun täytämme automaattisen täytön tyypin, meille annetaan useita Excel -vakioita, joista valita. Jos jätämme tämän pois, Excel määrittää täytettävien tietojen tyypin annetuista alkuperäisistä tiedoista.
Excel pystyy noutamaan vakiosarjoja, kuten kuukaudet, viikonpäivät ja lisäluvut ilman tarvetta käyttää Tyyppi -argumenttia.
Automaattinen täyttö xlFillCopy -ohjelmalla
Jos haluamme kopioida tiedot uusiin soluihin automaattisen täyttömakron avulla, voimme käyttää xlFillCopy Constantia.
1234567 | Julkinen alin automaattinen täyttökopio ()Himmennysvalinta1 alueenaDim Valinta2 alueenaAseta valinta1 = arkki1. Alue ("A1: A1")Aseta valinta2 = arkki1. Alue ("A1: A12")1. automaattisen täytön kohde: = valinta2, tyyppi: = xlFillCopyEnd Sub |
Tämän makron suorittaminen kopioisi alueen ("A1") tiedot alueeseen ("A1: A12") sen sijaan, että solut täytettäisiin automaattisesti seuraavilla kuukausilla "tammikuusta".
Automaattinen täyttö xlFlashFill -toiminnolla
Kun meidän on muutettava teksti Excelin sarakkeiksi, voimme joko käyttää tekstiä sarakkeiksi -vaihtoehtoa tai vaihtoehtoa nimeltä Flash Fill. Tämä on erittäin hyödyllistä VBA: ssa.
Otetaan esimerkiksi seuraavat tiedot:
Voimme kirjoittaa sukunimen "Tolley" soluun B2 ja käyttää sitten makroa Flashfill -loput tiedot.
1234567 | Sub FlashFill ()Himmennysvalinta1 alueenaDim Valinta2 alueenaAseta valinta1 = alue ("B2: B2")Aseta valinta2 = alue ("B2: B15")1. automaattisen täytön kohde: = valinta2, tyyppi: = xlFlashFillEnd Sub |
Voimme sitten toistaa tämän testisarakkeen C, D ja E saadaksemme loput tiedot.
1234567891011 | Aseta valinta1 = alue ("C2: C2")Aseta valinta2 = alue ("C2: C15")1. automaattisen täytön kohde: = valinta2, tyyppi: = xlFlashFillAseta valinta1 = alue ("D2: D2")Aseta valinta2 = alue ("D2: D15")1. automaattisen täytön kohde: = valinta2, tyyppi: = xlFlashFillAseta valinta1 = alue ("E2: E2")Aseta valinta2 = alue ("E2: E15")1. automaattisen täytön kohde: = valinta2, tyyppi: = xlFlashFill |
Kukin sarake täytetään sitten asianmukaisilla tiedoilla rivin 2 arvon perusteella.