VBA-cellen

Cellen zijn eigenlijk cellen van het werkblad en in VBA, wanneer we naar cellen verwijzen als een bereikeigenschap, verwijzen we eigenlijk naar de exacte cellen, met andere woorden, cel wordt gebruikt met bereikeigenschap en de methode om de eigenschap van cellen te gebruiken is als volgt Bereik ( .Cellen (1,1)) nu cellen (1,1) betekent dat cel A1 het eerste argument is voor de rij en het tweede is voor de kolomverwijzing.

VBA-celverwijzingen

U hebt geen speciale introductie nodig over wat een VBA-cel is. In VBA-concepten zijn cellen ook hetzelfde, niet anders dan normale Excel-cellen. Volg dit artikel om meer kennis te hebben van het VBA-cellenconcept.

Wat is VBA-bereik en VBA-cel?

Ik ben er zeker van dat dit de vraag is die nu in je opkomt. In VBA Range is een object, maar Cell is een eigenschap in een Excel-blad. In VBA hebben we twee manieren om naar een celobject te verwijzen, een via Bereik en een andere via Cellen.

Als u bijvoorbeeld naar cel C5 wilt verwijzen, kunt u twee methoden gebruiken om naar cel C5 te verwijzen.

Bereikmethode gebruiken: bereik ("C5")

Cellenmethode gebruiken: cellen (5, 3)

Evenzo, als u de waarde "Hallo" in C5-cel wilt invoegen, kunt u de onderstaande code gebruiken.

Met behulp van bereikmethode: bereik ("C5"). Waarde = "Hallo"

Cellen gebruiken Methode: Cellen (5, 3) .Value = "Hallo"

Als u nu meerdere cellen wilt selecteren, kunnen we alleen selecteren via Range-object. Als ik bijvoorbeeld cellen van A1 tot A10 wil selecteren, is hieronder de code.

Code: Bereik ("A1: A10") Selecteer

Maar helaas kunnen we slechts naar één cel tegelijk verwijzen door de eigenschap CELLS te gebruiken. We kunnen het object Cells with Range gebruiken zoals hieronder

Bereik ("A1: C10"). Cellen (5,2) gemiddelde in het bereik van A1 tot C10, vijfde rij en tweede kolom, dwz B5-cel.

De formule van CELLS Property in VBA

Bekijk de formule van de eigenschap CELLS.

  • Rij-index: dit is niets anders dan de rij waarnaar we verwijzen.
  • Kolomindex: dit is niets anders dan naar welke kolom we verwijzen.
  • Cellen (1, 1) betekent A1-cel, Cellen (2, 1) betekent A2-cel, Cellen (1, 2) betekent B1-cel.
  • Cellen (2, 2) betekent B2-cel, Cellen (10, 3) betekent C10-cel, Cellen (15, 5) betekent E15-cel.

# 1 - Hoe CELLS-eigendom in VBA te gebruiken?

Nu zal ik je leren hoe je deze CELLS-eigenschap in VBA kunt gebruiken.

U kunt deze VBA-cellen Excel-sjabloon hier downloaden - VBA-cellen Excel-sjabloon

Stel dat u werkt in de bladnaam met de naam Data 1  en u wilt een waarde "Hallo" invoegen in cel A1.

De onderstaande code zou dat voor u doen.

 Sub Cells_Example () Cells (1, 1) .Value = "Hallo" End Sub 

Resultaat:

Nu ga ik naar de bladnaam met de naam Data 2 en voer ik de code uit. Zelfs daar zal het het woord "Hallo" invoegen.

Eigenlijk kunnen we de eigenschap CELLS ook combineren met een bepaalde bladnaam. Gebruik het WORKSHEET-object om naar een bepaald blad te verwijzen.

Werkbladen ("Data 1"). Cellen (1,1) .Value = "Hallo"

Hierdoor wordt het woord "Hallo" in het blad "Gegevens 1" ingevoegd, ongeacht op welk blad u zich bevindt.

# 2 - Hoe de eigenschap CELLS te gebruiken met een bereikobject?

Eigenlijk kunnen we de eigenschap CELLS gebruiken met een RANGE-object. Kijk bijvoorbeeld naar de onderstaande code.

Bereik ("C2: E8"). Cellen (1, 1). Selecteer

Voor een beter begrip heb ik een paar cijfers in het Excel-blad ingevoerd.

Het bovenstaande codebereik ("C2: E8"). Cellen (1, 1) .Select zegt dat in het bereik C2 tot E8 de eerste cel moet worden geselecteerd. Voer deze code uit en kijk wat er gebeurt.

 Sub Cells_Example () Bereik ("C2: E8"). Cellen (1, 1). Selecteer End Sub 

Het heeft de cel C2 geselecteerd. Maar Cellen (1, 1) betekent A1-cel, nietwaar?

De reden dat het de cel C2 heeft geselecteerd, omdat we bij het gebruik van bereikobject hebben aangedrongen op het bereik als C2 tot E8, dus de eigenschap Cellen behandelt het bereik van C2 tot E8, niet van een gewone A1-cel. In dit voorbeeld is C2 de eerste rij en de eerste kolom, dus Cellen (1, 1). Selecteren betekent C2-cel.

Nu zal ik de code wijzigen in Bereik ("C2: E8") Cellen (3, 2). Selecteer en kijk wat er gebeurt.

Voer deze code uit en controleer welke cel deze daadwerkelijk zal selecteren.

 Sub Cells_Example () Bereik ("C2: E8"). Cellen (3, 2). Selecteer End Sub 

Het heeft de cel D4 geselecteerd, dwz nr. 26. Cellen (3,2) betekenen vanaf de C2-cel 3 rijen omlaag verplaatst en 2 kolommen naar rechts, dwz de D4-cel.

# 3 - Celeigenschap met lussen

CELLS-eigenschap met loops heeft een zeer goede relatie in VBA. Laten we eens kijken naar het voorbeeld van het invoegen van serienummers van 1 tot 10 met FOR LOOP. Kopieer en plak de onderstaande code in uw module.

 Sub Cells_Example () Dim i As Integer For i = 1 to 10 Cells (i, 1). Value = i Next i End Sub 

Hier heb ik de variabele I als een geheel getal verklaard .

Dan heb ik LOOP aangevraagd met I = 1 tot 10, dwz de lus moet 10 keer worden uitgevoerd.

Cellen (i, 1). Waarde = i

Dit betekent dat wanneer de lus voor het eerst wordt uitgevoerd, de waarde van "I" 1 is, dus overal waar de waarde van "I" 1 is, dwz Cell (1,1) .value =

Wanneer de lus de waarde van "I" voor de tweede keer retourneert, is het 2, dus waar de waarde van "I" ook is, het is 2. dat wil zeggen. Cel (2,1). Waarde = 2

Deze lus wordt 10 keer uitgevoerd en voegt de I- waarde van A1 tot A10 in.

Dingen om te onthouden in VBA-cellen

  • CELLS is eigendom, maar het BEREIK is een object. We kunnen eigendom met objecten gebruiken, maar geen bezwaar maken tegen het onroerend goed.
  • Wanneer het bereik wordt geleverd, houden cellen alleen rekening met dat bereik, niet met het normale bereik.
  • Cellen (1, 2) is B1-cel, op dezelfde manier is Cellen (1, "B") ook B1-cel.