VBA-celler Excel - Hvordan bruke cellereferanseegenskap med rekkeviddeobjekt?

Innholdsfortegnelse

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.

Interessante artikler...