Sisukord
Selles artiklis näitan teile, kuidas saate juurdepääsu lahtriviidale raku viitele VBA Excelis. Õpite juurde pääsema nii üksikule lahtrile kui ka mitmele lahtrile koos.
Lae alla praktiline töövihik
Lae alla see harjutusvihik, et harjutada ülesannet selle artikli lugemise ajal.
VBA lahtri viide.xlsm8 viisi, kuidas viidata Exceli VBA-s olevale lahtriviidale
Siin on meil andmekogum koos Raamatu nimi , Raamatu tüübid, ja Hind mõned raamatud raamatupoest nimega Martin Bookstore.
Andmekogum jääb vahemikku B4:D13 töölehel.
Täna on meie eesmärk õppida viitama selle andmekogumi lahtriviidetele koos VBA.
Siin on 8 parimat viisi, kuidas viidata lahtrile viitega VBA Excelis.
1. Viitamine lahtriviidale, kasutades VBA VBAs Exceli vahemikuobjekti
Kõigepealt saate viidata lahtriviidale, kasutades selleks Range objekt VBA .
Saate viidata nii üksikule lahtrile kui ka lahtrite vahemikule, kasutades käsku Range objekt.
Näiteks, et pääseda ligi ühe raku B4 , kasutage koodirida:
Dim Cell_Reference As Range
Set Cell_Reference = Range("B4")
Järgmine kood valib lahtri B4 .
See valib lahtri B4 aktiivsel töölehel.
Samamoodi saab sel viisil ligi ka rakkude vahemikule.
Dim Cell_Reference As Range
Set Cell_Reference = Range("B4:D13")
Järgmine kood valib vahemiku B4:D13 .
See valib rakkude vahemiku B4:D13 .
Märkus : Saate kasutada Range objekti otse ilma seda eelnevalt deklareerimata, näiteks:
Range("B4:D13").Select
Samuti, kui soovite pääseda ligi mõnele töölehe lahtrisse, mis ei ole aktiivne, kasutage töölehe nime enne sümbolit Range objekt.
Näiteks, et pääseda ligi lahtrisse B4 aadressilt Leht2 , kasutada:
Töölehed("Sheet2").Range("B4:D13")
2. Viitamine lahtriviidetele, kasutades VBAs Exceli indeksnumbreid
Rakuviidetele saab viidata ka indeksinumbrite abil. Kuid selle meetodi puhul saab viidata ainult ühele rakule.
Näiteks, et pääseda juurde lahtrisse rea numbriga 4 ja veeru number 2 ( B4 ), kasutage:
Cells(4, 2))
Järgmine kood valib jälle lahtri B4 aktiivse töölehe kohta.
See valib lahtri B4 .
Märkus: Mitteaktiivse töölehe mis tahes lahtrile juurdepääsu saamiseks kasutage töölehe nime enne lahtriviidet.
Näiteks:
Töölehed("Sheet2").Cells(4, 2)
[ Sama mis meetod 1 ] .
3. Viitamine Exceli VBAs teise lahtrile suhtelisele lahtriviidale
Te võite viidata ka lahtrile, mis on seotud teise lahtri suhtes VBA Te peate kasutama Offset funktsioon aadressilt VBA selle eest.
Rakule juurdepääsu võimaldamine 1 rida alla ja 2 veerus paremal lahtris B4 (D5) , kasutada:
Range("B4").Offset(1, 2)
Järgmine kood valib lahtri D5 aktiivse töölehe kohta.
See valib lahtri D5 .
Märkus: Kui soovite viidata töölehe mis tahes lahtrisse, mis ei ole aktiivne, kasutage töölehe nime enne lahtriviidet.
Näiteks:
Worksheets("Sheet2").Range("B4").Offset(1, 2)
[ Sama nagu meetodid 1 ja 2 ] .
4. Viitamine lahtriviidale Exceli VBA-s kasutatava otsetee märkuse abil
Iga lahtri viitele juurdepääsuks on olemas otsetee, mis on kättesaadav VBA Sel viisil saab viidata nii üksikule lahtrile kui ka lahtrite vahemikule.
Ligipääsuks rakkudele B4 , kasutada:
[B4]
Või pääseda vahemikku B4:D13 , kasutada:
[B4:D13]
Järgmine kood valib vahemiku B4:D13 .
See valib vahemiku B4:D13 .
Märkus: Mitteaktiivse töölehe mis tahes lahtrisse viitamiseks kasutage töölehe nime enne lahtriviidet.
Näiteks:
Töölehed("Sheet2").[B4:D13]
[ Sama mis meetodid 1, 2 ja 3. ] .
Sarnased lugemised:
- Kuidas lukustada Exceli valemiga lahter (2 võimalust)
- Absoluutne lahtriviide Exceli otsetee (4 kasulikku näidet)
- Kuidas hoida lahtri fikseeritud Exceli valemiga (4 lihtsat viisi)
- Kasutage Exceli valemis lahtriviiteid (3 võimalust)
5. Viitamine nimega vahemikule VBAs Excelis
Võite viidata Nimeline vahemik koos VBA Excelis.
Nimetagem vahemik B4:D13 aktiivse töölehe kui Book_List.
Nüüd saame viidata sellele Nimeline vahemik koodirea järgi:
Range("Book_List")
Järgmine kood valib vahemiku Book_List ( B4:D13 ).
See valib vahemiku Book_List .
Märkus: Mitteaktiivse töölehe mis tahes lahtrile juurdepääsu saamiseks kasutage töölehe nime enne lahtriviidet.
Näiteks:
Töölehed("Sheet2").Range("Book_List")
[ Sama mis meetodid 1, 2, 3 ja 4. ] .
6. Viidata VBAs Exceli mitmele vahemikule
Saate viidata ka mitmele vahemikule VBA Excelis.
Valikualale juurdepääsuks B4:D5 , B7:D8 ja B10:D11 , kasutada:
Range("B4:D5,B7:D8,B10:D11")
See valib mitu vahemikku koos.
Samuti saate kasutada Liit omadus VBA et pääseda ligi mitmele vahemikule koos.
Union(Range("B4:D5"), Range("B7:D8"), Range("B10:D11"))
Või saate juurdepääsu mitmele Nimetud vahemikud koos.
Range("Named_Range_1,Named_Range_2")
Pange ka töölehe nimi mitteaktiivsete töölehtede ette.
Näiteks:
Worksheets("Sheet2").Range("B4:D5,B7:D8,B10:D11")
[ Sama mis meetodid 1, 2, 3, 4 ja 5. ]
7. Viidata Exceli VBA ridade ja veergude kohta
Excelis saab VBAs viidata ka ühele või mitmele reale või veerule.
Juurdepääsuks Neljas rida, kasuta:
Rid (4)
See valib kogu Neljas rida.
Samamoodi, Veerud(4) pääseb ligi kogu Neljas veerus.
Ja mitme rea või veeru üheskoos vaatamiseks kasutage käsku Liit omadus VBA .
Ridadele juurdepääsuks 4, 6, 8, ja 10 koos, kasutage:
Union(Rows(4), Rows(6), Rows(8), Rows(10))
See valib kõik read 4, 6, 8 ja 10 .
Märkus: Lisage töölehe nimi ette, kui see on mitteaktiivne.
Näiteks:
Töölehed("Sheet2").Rows (4)
[ Sama nagu meetodid 1, 2, 3, 4, 5 ja 6. ]
8. Viide kogu töölehele VBAs Excelis
Lõpuks näitan teile, kuidas viidata kogu töölehele. Et pääseda kogu töölehele ligi, tuleb VBA , kasutada:
Rakud
Või viidata mitteaktiivsele töölehele (nt, Leht2 ), kasutage:
Tööleht("Sheet2").Cells
See valib kogu töölehe Leht2 .
Seotud sisu: Suhteline ja absoluutne lahtri aadress arvutustabeli tabelis
Asjad, mida meeles pidada
- Aktiivse töölehe ühele või mitmele lahtrile juurdepääsu saamiseks võite mainida töölehe nime ees või mitte, kuid mitteaktiivse töölehe lahtritele juurdepääsu saamiseks peate lahtriviite ees mainima töölehe nime.
- Isegi mitteaktiivse töövihiku lahtritele on võimalik ligi pääseda aadressil VBA , Sellisel juhul peate mainima nii töövihiku nime kui ka töölehe nimi lahtri viite ees.
Kokkuvõte
Nende meetodite abil saate viidata mis tahes lahtrile, mille viide on VBA Excelis. Kas teil on küsimusi? Küsige meilt julgelt.