Celler er faktisk celler i regnearket, og i VBA når vi refererer til celler som en rekkevidde, refererer vi faktisk til de eksakte cellene, med andre ord, celle brukes med rekkeviddeegenskap og metoden for å bruke celleregenskapen er som følger Område ( .Celler (1,1)) nå betyr celler (1,1) cellen A1 det første argumentet er for raden og det andre er for kolonnehenvisningen.
VBA-cellereferanser
Du trenger ikke noen spesiell introduksjon om hva som er en VBA-celle. I VBA-konsepter er celler også de samme, ikke forskjellige fra normale excel-celler. Følg denne artikkelen for å få mer kunnskap om VBA-cellekonseptet.
Hva er VBA Range & VBA Cell?
Jeg er sikker på at dette er spørsmålet som kjører i tankene dine akkurat nå. I VBA er Range et objekt, men Cell er en egenskap i et excel-ark. I VBA har vi to måter å referere til et celleobjekt en gjennom Range, og en annen er gjennom celler.
Hvis du for eksempel vil referere til celle C5, kan du bruke to metoder for å referere til celle C5.
Bruke rekkevidde: rekkevidde (“C5”)
Bruke cellemetode: Celler (5, 3)
På samme måte, hvis du vil sette inn verdien "Hei" til C5-celle, kan du bruke koden nedenfor.
Bruke rekkeviddemetode: Område (“C5”). Verdi = “Hei”
Bruke cellemetode: Celler (5, 3) .Value = “Hei”
Nå, hvis du vil velge flere celler, kan vi bare velge gjennom Range-objektet. For eksempel, hvis jeg vil velge celler fra A1 til A10, er koden nedenfor.
Kode: Område (“A1: A10”). Velg
Men dessverre kan vi bare referere til en celle om gangen ved å bruke CELLS-egenskapen. Vi kan bruke celler med et Range-objekt som nedenfor.
Område (“A1: C10”). Celler (5,2) betyr i området A1 til C10 femte rad og andre kolonne, dvs. B5-celle.

Formelen for CELLS Property i VBA
Ta en titt på formelen for CELLS eiendom.

- Radindeks: Dette er ingenting annet enn hvilken rad vi refererer til.
- Kolonneindeks: Dette er ingenting annet enn hvilken kolonne vi refererer til.
- Celler (1, 1) betyr A1-celle, Celler (2, 1) betyr A2-celle, Celler (1, 2) betyr B1-celle.
- Celler (2, 2) betyr B2-celle, Celler (10, 3) betyr C10-celle, Celler (15, 5) betyr E15-celle.
# 1 - Hvordan bruke CELLS Property i VBA?
Nå vil jeg lære deg hvordan du bruker disse CELLS-egenskapene i VBA.
Anta at du jobber i arknavnet kalt Data 1, og at du vil sette inn verdien "Hei" i cellen A1.

Koden nedenfor vil gjøre det for deg.
Sub Cells_Example () Cells (1, 1) .Value = "Hello" End Sub
Resultat:

Nå skal jeg gå til arknavnet kalt Data 2 og kjøre koden. Selv der vil den sette inn ordet "Hei."

Egentlig kan vi også kombinere CELLS-egenskapen med et bestemt arknavn. For å henvise til et bestemt ark, bruk WORKSHEET-objektet.
Arbeidsark ("Data 1"). Celler (1,1) .Value = "Hello"

Dette vil sette inn ordet “Hei” i arket “Data 1” uavhengig av hvilket ark du er i.
# 2 - Hvordan bruke CELLS Property med Range Object?
Egentlig kan vi bruke CELLS-egenskap med et RANGE-objekt. Se for eksempel på koden nedenfor.
Område ("C2: E8"). Celler (1, 1) .Velg

For bedre forståelse har jeg lagt inn noen få tall i excel-arket.

Ovennevnte kode Område (“C2: E8”). Celler (1, 1). Velg sier i området C2 til E8, velg den første cellen. Kjør denne koden og se hva som skjer.
Sub Cells_Example () Range ("C2: E8"). Cells (1, 1). Velg End Sub

Den har valgt cellen C2. Men celler (1, 1) betyr ikke A1-celle, ikke sant?
Årsaken til at det har valgt celle C2 fordi vi ved hjelp av rekkeviddeobjekt har insistert på området som C2 til E8, slik at Cells-egenskapen behandler området fra C2 til E8, ikke fra vanlig A1-celle. I dette eksemplet er C2 den første raden og den første kolonnen, slik at celler (1, 1) .select betyr C2-celle.
Nå vil jeg endre koden til Range ("C2: E8"). Celler (3, 2) .Velg og se hva som skjer.
Kjør denne koden og sjekk hvilken celle den faktisk velger.
Sub Cells_Example () Range ("C2: E8"). Cells (3, 2). Velg End Sub

Den har valgt cellen D4, dvs. nr. 26. Celler (3,2) betyr å starte fra C2-celle flyttet ned med 3 rader og flytte 2 kolonner til høyre, dvs. D4-celle.
# 3 - Cells Property with Loops
CELLS eiendom med løkker har et veldig godt forhold i VBA. La oss se på eksemplet på å sette inn serienumre fra 1 til 10 ved hjelp av FOR LOOP. Kopier og lim inn koden nedenfor til modulen din.
Underceller_eksempel () Dim i som heltall for i = 1 til 10 celler (i, 1). Verdi = i Neste jeg avslutter under

Her har jeg erklært variabelen I som et helt tall.
Så har jeg søkt FOR LOOP med I = 1 til 10 ie, og loop må gå 10 ganger.
Celler (i, 1) .verdi = i
Dette betyr at når sløyfen først kjører, vil verdien av "I" være 1, så uansett hvor verdien av "I" er 1, dvs. celle (1,1) .verdi = 1
Når sløyfen returnerer verdien til "I" for andre gang, er den 2, så uansett hvor verdien til "I" er, er den 2. dvs. Cell (2,1) .verdi = 2
Denne sløyfen vil gå i 10 ganger og sette inn I- verdien fra A1 til A10.
Ting å huske i VBA-celler
- CELLS er eiendom, men RANGE er et objekt. Vi kan bruke eiendom med objekter, men ikke motsette deg eiendommen.
- Når området er levert, vil celler bare vurdere det området, ikke det vanlige området.
- Celler (1, 2) er B1-celle, på samme måte er celler (1, ”B”) også B1-celle.