VBA XLUP | Kaip naudoti „VBA XLUP“ programoje „Excel“? (su pavyzdžiais)
„Excel VBA XLUP“
Rašant VBA kodą reikia nepamiršti vieno dalyko, kurį darote naudodami įprastą darbalapį ir tą patį dalyką galite pakartoti VBA. Vienas iš tokių VBA kodavimo raktinių žodžių yra „XLUP“, šiame straipsnyje mes parodysime, koks yra šis raktinis žodis VBA kodavime ir kaip jį naudoti koduojant.
Kaip naudoti VBA XLUP koduojant?
Toliau pateikiami „Excel VBA XLUP“ pavyzdžiai.
Šį „VBA XLUP Excel“ šabloną galite atsisiųsti čia - „VBA XLUP Excel“ šablonas1 pavyzdys - perkelkite langelius į ištrintą ląstelių padėtį
Pvz., Pažiūrėkite į toliau pateiktų duomenų scenarijų, kur reikia ištrinti tuos spalvotų langelių duomenis ir dar daugiau žemiau pateiktų eilučių duomenų į aukščiau nurodytus duomenis.
Vienas iš būdų tai ištrinti darbalapyje yra pasirinkti tuos langelius, kuriuose galime paprasčiausiai ištrinti visą pačią eilutę. Bet čia situacijos yra šiek tiek sudėtingos, nes turiu spalvotų langelių 1 lentelėje, kai mes ištriname visą eilutę, net 2 lentelės eilutės taip pat ištrinamos, bet mes nenorime, kad tai įvyktų, o mums reikia ištrinti tik spalvotas eilutes ir žemiau esančios ląstelės turėtų judėti aukštyn ištrintų langelių padėtį.
Pirmiausia pasirinkite spalvotas langelius ir paspauskite Ctrl + Minus Symbol (-), kad atidarytumėte parinktį „Ištrinti“.
Spartusis klavišas, kad atidarytumėte parinktį „Ištrinti“
Parinkčių lange „ištrinti“ turime keturias parinktis, mes galime pasirinkti veiksmą pagal savo reikalavimą. Kadangi mums reikia perkelti savo ląsteles į viršų, kad būtų ištrintos ląstelės, pasirinkite „Shift Cell Up“.
2 lentelės eilutės bus nepakeistos.
Šiam VBA veiksmui atlikti reikia naudoti ypatybę „XLUP“, kad būtų galima atlikti panašų VBA veiksmų rinkinį. Dabar eikite į VBA redaktoriaus langą ir paleiskite makrokomandos pavadinimą.
Kodas:
XLUP_Pavyzdys () galinis sub
Pirmiausia pateikite langelį RANGE, kuris bus įtrauktas į šią operaciją. Atlikdami šį veiksmą, pirmieji langeliai, kurie bus ištrinti ir judėti aukštyn, yra langeliai „A5: B5“.
Kodas:
XLUP_Pavyzdys () diapazonas ("A5: B5") Pabaiga
Šiam langelių diapazonui pasirinkite „Ištrinti“ metodą.
Kodas:
XLUP_Pavyzdžio () diapazonas („A5: B5“). Ištrinkite pabaigos antrinę dalį
Kaip matote „Ištrinti“ metodą, turime vieną pasirenkamą argumentą kaip [Shift], šiam argumentui turime įvesti argumentą kaip „XLUP“.
Kodas:
XLUP_Example () diapazonas ("A5: B5"). Ištrinti poslinkį: = xlUp End Sub
Dabar galite paleisti šį kodą rankiniu būdu arba naudodamiesi sparčiuoju „Excel“ klavišu F5, kad pamatytumėte rezultatą.
Kaip matote 1 lentelėje, eilutė Nr. 6 perkelta į 5-ąją eilutę ir, kita vertus, lentelėje 2 eilutės (spalvotos) nepakeistos, todėl naudodami parinktį „VBA XLUP“ galime atlikti šią operaciją.
2 pavyzdys - raskite paskutinę naudotą eilutę naudodami XLUP
Įsivaizduokite situaciją, kai esate A20 langelyje (žiūrėkite žemiau esančiame paveikslėlyje), o paskutinis naudotas langelis yra A14.
Dabar, jei norite pasirinkti paskutinį panaudotą langelį (A14). kaip tu pasiseks naudodamas spartųjį klavišą ???
Norėdami pereiti į paskutinį naudojamą langelį iš dabartinės padėties, naudosime klavišus „Ctrl“ + rodyklė aukštyn .
Spartusis klavišas, skirtas pereiti prie paskutinio panaudoto langelio
Taigi iš dabartinės langelio „Ctrl“ + rodyklė aukštyn pasirinko paskutinį naudojamą langelį. Panašiai, VBA koduodami mes naudojame END (XLUP) tam pačiam tikslui atlikti.
Dabar grįžkite į VBA kodavimo langą.
Šiame lange atliksime užduotį surasti paskutinę panaudotą eilutę darbalapyje. VBA lange sukurkite naują antrinę procedūrą.
Kodas:
XLUP_Pavyzdys1 () antrinis potvarkis
Norėdami išsaugoti paskutinį naudoto eilutės numerį. apibrėžti kintamąjį kaip VBA LONG duomenų tipą.
Kodas:
XLUP_Pavyzdys1 () Sub Dim Last_Row_Number As Long End Sub
Dabar šiam kintamajam priskirsime paskutinį naudotą eilutės numerį.
Kodas:
XLUP_Pavyzdys1 () Sub Dim Last_Row_Number As Long Last_Row_Number = End Sub
Dabar naudokite objektą RANGE ir atidarykite šį objektą.
Kodas:
XLUP_Example1 () subasmenis Paskutinis_Row_Number kaip ilgas Last_Row_Number = Diapazonas (pabaiga Sub
Dabar paminėkite aktyvų langelį (A20) objektui RANGE .
Kodas:
XLUP_Example1 () subasiminkite Last_Row_Number as Long Range ("A14"). Pasirinkite Last_Row_Number = Range ("A20") End Sub
Dabar atidarykite tiekiamos diapazono langelio savybę END.
Kodas:
XLUP_Example1 sub) (Dim Last_Row_Number Dim as Long Range ("A14"). Pasirinkite Last_Row_Number = Range ("A20"). Pabaiga (End Sub
Kaip matote aukščiau, turime rodyklių klavišus pasirinkti, pvz., „XlDown“, „xlToLeft“, „xlToRight“, „xlUp“. Kadangi judame aukštyn iš langelio A14, pasirinkite parinktį „VBA XLUP“.
Kodas:
XLUP_Example1 () subasiminkite Last_Row_Number as Long Range ("A14"). Pasirinkite Last_Row_Number = Range ("A20"). End (xlUp) End Sub
Persikėlę iš A14 langelio turime paminėti, ką turime daryti, nes mums reikia paskutinio panaudoto eilutės numerio, kurį naudosiu ROW savybė.
Kodas:
XLUP_Example1 () subindeksuokite Last_Row_Number kaip ilgą diapazoną ("A14"). Pasirinkite Last_Row_Number = diapazonas ("A20"). Pabaiga (xlUp). Eilutės pabaiga Sub
Dabar pranešimų laukelyje priskirkite kintamojo „Last_Row_Number“ vertę .
Kodas:
XLUP_Example1 () subasiminkite Last_Row_Number as Long Range ("A14"). Pasirinkite Last_Row_Number = Range ("A20"). End (xlUp). Eilutė MsgBox Last_Row_Number End Sub
Dabar galite paleisti šį kodą rankiniu būdu arba naudodamiesi sparčiuoju klavišu F5, kad pamatytumėte rezultatą.
Taigi pranešimų laukelis, kuriame paskutinį kartą naudotas eilutės numeris yra 14, taigi paskutinis mūsų duomenų skaičius yra A14 langelis.
Šiuo atveju, kadangi duomenys yra labai maži, mes pradėjome nuo A20 langelio, tačiau kai duomenys yra dideli, negalime pasakyti, į kurią langelį pirmiausia atsižvelgti, tokiais atvejais turime naudoti kitą metodiką.
Turime naudoti CELLS nuosavybę, toliau pateikiamas to paties pavyzdys.
Kodas:
XLUP_Example2 sub () Dim Last_Row_Number As Long Last_Row_Number = Cells (Rows.Count, 1). End (xlUp). Eilutė MsgBox Last_Row_Number End Sub
Dabar galite paleisti šį kodą rankiniu būdu arba naudodamiesi sparčiuoju klavišu F5, kad pamatytumėte rezultatą.
Vietoj objekto RANGE naudojau CELLS ypatybę. Leiskite jums tai išsamiai paaiškinti.
ROW.COUNT bus suskaičiuota, kiek eilučių yra 1 stulpelyje . Tai padarys tai, kad bus atsižvelgta į paskutinę darbalapio langelį vietoj atsitiktinio langelio adreso, aukščiau nurodytu atveju mes naudojome A14 kaip atsitiktinę ląstelę adresas.
Įsimintini dalykai apie VBA XLUP
- XLUP yra žodis, naudojamas VBA kode, norint pakartoti „Excel“ klavišo „Up Arrow“ veiksmą.
- VBA XLUP naudojamas norint pereiti iš aktyvių langelių į aukščiau nurodytą langelį arba paskutinį kartą panaudotą langelį.
- XLUP paprastai naudojamas kartu su END nuosavybe VBA.