VBA-celler Excel - Hur använder jag cellreferensegenskap med intervallobjekt?

Innehållsförteckning

Celler är faktiskt celler i kalkylbladet och i VBA när vi hänvisar till celler som en områdesegenskap hänvisar vi faktiskt till de exakta cellerna, med andra ord används cellen med intervallegenskap och metoden för att använda celleregenskapen är som följer Område ( .Celler (1,1)) nu betyder celler (1,1) cellen A1, det första argumentet är för raden och det andra för kolumnreferensen.

VBA-cellreferenser

Du behöver ingen speciell introduktion om vad som är en VBA-cell. I VBA-koncept är celler också desamma, skiljer sig inte från normala excelceller. Följ den här artikeln för att få mer kunskap om VBA-cellkonceptet.

Vad är VBA Range & VBA Cell?

Jag är säker på att detta är den fråga som du tänker just nu. I VBA är Range ett objekt, men Cell är en egenskap i ett excel-ark. I VBA har vi två sätt att referera till ett cellobjekt ett genom Range, och ett annat är genom celler.

Om du till exempel vill referera till cell C5 kan du använda två metoder för att hänvisa till cell C5.

Använda Range Method: Range (“C5”)

Använda cellmetod: Celler (5, 3)

På samma sätt, om du vill infoga värdet “Hej” till C5-cellen, kan du använda koden nedan.

Använd räckviddsmetod: Räckvidd (“C5”). Värde = “Hej”

Använda cellmetod: Celler (5, 3) .Value = “Hej”

Om du nu vill välja flera celler kan vi bara välja genom Range-objektet. Till exempel, om jag vill välja celler från A1 till A10, nedan är koden.

Kod: Område (“A1: A10”) Välj

Men tyvärr kan vi bara referera till en cell i taget genom att använda CELLS-egenskapen. Vi kan använda celler med ett Range-objekt som nedan.

Område (“A1: C10”). Celler (5,2) betyder i intervallet A1 till C10 femte raden och andra kolumnen, dvs B5-cell.

Formeln för CELLS Property i VBA

Ta en titt på formeln för CELLS-egendom.

  • Radindex: Detta ingenting annat än vilken rad vi refererar till.
  • Kolumnindex: Detta ingenting annat än vilken kolumn vi refererar till.
  • Celler (1, 1) betyder A1-cell, Celler (2, 1) betyder A2-cell, Celler (1, 2) betyder B1-cell.
  • Celler (2, 2) betyder B2-cell, Celler (10, 3) betyder C10-cell, Celler (15, 5) betyder E15-cell.

# 1 - Hur använder jag CELLS Property i VBA?

Nu lär jag dig hur du använder dessa CELLS-egendomar i VBA.

Antag att du arbetar i arknamnet Data 1 och att du vill infoga ett värde ”Hej” i cellen A1.

Nedanstående kod skulle göra det åt dig.

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

Resultat:

Nu går jag till bladnamnet Data 2 och kör koden. Även där kommer det att infoga ordet "Hej".

Egentligen kan vi också kombinera CELLS-egenskapen med ett visst arknamn. Använd WORKSHEET-objektet för att hänvisa ett visst ark.

Kalkylblad ("Data 1"). Celler (1,1) .Värde = "Hej"

Detta infogar ordet “Hej” i arket “Data 1” oavsett vilket ark du befinner dig i.

# 2 - Hur man använder CELLS-egendom med intervallobjekt?

Egentligen kan vi använda CELLS-egenskapen med ett RANGE-objekt. Titta till exempel på koden nedan.

Område ("C2: E8"). Celler (1, 1). Välj

För bättre förståelse har jag angett några siffror i excelbladet.

Ovanstående kod Område (“C2: E8”). Celler (1, 1). Välj säger i intervallet C2 till E8 välj den första cellen. Kör den här koden och se vad som händer.

Sub Cells_Example () Range ("C2: E8"). Cells (1, 1). Välj End Sub Sub

Den har valt cellen C2. Men celler (1, 1) betyder A1-cell, eller hur?

Anledningen till att det har valt cellen C2 eftersom vi använder intervallobjekt, vi har insisterat på området som C2 till E8, så Cells-egenskapen behandlar intervallet från C2 till E8, inte från vanlig A1-cell. I detta exempel är C2 den första raden och den första kolumnen, så Cells (1, 1) .select betyder C2-cell.

Nu ändrar jag koden till Range ("C2: E8"). Celler (3, 2). Välj och se vad som händer.

Kör den här koden och kontrollera vilken cell den faktiskt väljer.

Sub Cells_Example () Range ("C2: E8"). Cells (3, 2). Välj End Sub Sub

Det har valt cellen D4, dvs nr 26. Celler (3,2) betyder att man börjar från C2-cellen flyttas ner med 3 rader och flyttar två kolumner till höger, dvs D4-cellen.

# 3 - Cells Property with Loops

CELLS-egendom med slingor har en mycket bra relation i VBA. Låt oss titta på exemplet med att infoga serienummer från 1 till 10 med FOR LOOP. Kopiera och klistra in koden nedan till din modul.

Underceller_Exempel () Dim i som heltal för i = 1 till 10 celler (i, 1). Värde = i Nästa i Avsluta sub

Här har jag förklarat variabeln I som ett heltal.

Sedan har jag ansökt FOR LOOP med I = 1 till 10 dvs och slingan måste köras 10 gånger.

Celler (i, 1) .värde = i

Detta innebär att när slingan först körs kommer värdet "I" att vara 1, så var som helst av värdet på "I" är 1, dvs Cell (1,1) .värde = 1

När slingan returnerar värdet "I" för andra gången är det 2, så varhelst värdet av "I" är, är det 2. dvs Cell (2,1) .värde = 2

Den här slingan körs tio gånger och infogar I- värdet från A1 till A10.

Saker att komma ihåg i VBA-celler

  • CELLS är egendom, men RANGE är ett objekt. Vi kan använda egendom med objekt men inte motverka egendomen.
  • När intervallet levereras kommer celler endast att beakta det intervallet, inte det vanliga intervallet.
  • Celler (1, 2) är B1-cell, på samma sätt är celler (1, ”B”) också B1-celler.

Intressanta artiklar...