VBA-solut Excel | Kuinka käyttää soluviittausominaisuutta alueobjektin kanssa?

Solut ovat itse asiassa laskentataulukon soluja ja VBA: ssa, kun viittaamme soluihin alueominaisuutena, jota itse asiassa viittaamme tarkkoihin soluihin, toisin sanoen solua käytetään alueominaisuuden kanssa ja menetelmä soluominaisuuden käyttämiseksi on seuraava Range ( Solut (1,1)) nyt solut (1,1) tarkoittavat solua A1, jonka ensimmäinen argumentti on riville ja toinen sarakeviitteelle.

VBA-soluviitteet

Et tarvitse mitään erityistä esittelyä siitä, mikä on VBA-solu. VBA-käsitteissä solut ovat myös samat, jotka eivät eroa normaaleista excel-soluista. Seuraa tätä artikkelia saadaksesi lisää tietoa VBA-solukonseptista.

Mikä on VBA-alue ja VBA-solu?

Olen varma, että tämä on mielessäsi oleva kysymys juuri nyt. VBA: ssa Range on objekti, mutta Cell on Excel-taulukon ominaisuus. VBA: ssa meillä on kaksi tapaa viitata soluobjektiin, toinen on alueen kautta ja toinen solujen kautta.

Esimerkiksi, jos haluat viitata soluun C5, voit käyttää kahta tapaa viitata soluun C5.

Käyttämällä Range-menetelmää: Range (“C5”)

Solumenetelmää käyttämällä: Solut (5, 3)

Vastaavasti, jos haluat lisätä arvon "Hi" C5-soluun, voit käyttää alla olevaa koodia.

Käyttämällä Range-menetelmää: Range (“C5”). Arvo = “Hi”

Solumenetelmää käyttämällä: Solut (5, 3). Arvo = "Hei"

Nyt, jos haluat valita useita soluja, voimme valita vain Range-objektin kautta. Esimerkiksi, jos haluan valita solut A1: stä A10: ään, koodi on alla.

Koodi: Alue (“A1: A10”). Valitse

Valitettavasti voimme kuitenkin viitata vain yhteen soluun kerrallaan käyttämällä CELLS-ominaisuutta. Voimme käyttää soluja Range-objektilla kuten alla

Alue (“A1: C10”) Solut (5,2) tarkoittavat alueella A1 - C10 viides rivi ja toinen sarake eli B5-solu.

CBA-kiinteistön kaava VBA: ssa

Katsokaa CELLS-ominaisuuden kaavaa.

  • Riviindeksi: Tämä ei ole muuta kuin mitä riviä viittaamme.
  • Sarakeindeksi: Tämä ei ole muuta kuin mitä saraketta viittaamme.
  • Solut (1, 1) tarkoittaa A1-solua, Solut (2, 1) tarkoittaa A2-solua, Solut (1, 2) tarkoittaa B1-solua.
  • Solut (2, 2) tarkoittaa B2-solua, Solut (10, 3) tarkoittaa C10-solua, Solut (15, 5) tarkoittaa E15-solua.

# 1 - Kuinka käyttää solujen omaisuutta VBA: ssa?

Nyt opetan sinulle, kuinka näitä soluja käytetään VBA: ssa.

Voit ladata tämän VBA Cells Excel -mallin täältä - VBA Cells Excel -malli

Oletetaan, että työskentelet taulukon nimellä Data 1  ja haluat lisätä arvon "Hello" soluun A1.

Alla oleva koodi tekisi sen puolestasi.

 Alisolut_esimerkki () Solut (1, 1) .Arvo = "Hei" End Sub 

Tulos:

Nyt menen taulukon nimelle Data 2 ja suoritan koodin. Siellä se lisää sanan "Hei".

Itse asiassa voimme yhdistää CELLS-ominaisuuden myös tietyn arkin nimiin. Jos haluat viitata tiettyyn arkkiin, käytä WORKSHEET-objektia.

Laskentataulukot ("Data 1"). Solut (1,1). Arvo = "Hei"

Näyttöön lisätään sana ”Hello” arkkiin ”Data 1” riippumatta siitä, minkä levyn olet.

# 2 - Kuinka käyttää CELLS-ominaisuutta alueobjektilla?

Itse asiassa voimme käyttää CELLS-ominaisuutta RANGE-objektin kanssa. Katso esimerkiksi alla oleva koodi.

Alue ("C2: E8"). Solut (1, 1) .Valitse

Paremman ymmärtämisen vuoksi olen kirjoittanut muutaman numeron Excel-taulukkoon.

Yllä oleva koodialue (“C2: E8”). Solut (1, 1) .Valitse sanomalla alueella C2 - E8, valitse ensimmäinen solu. Suorita tämä koodi ja katso mitä tapahtuu.

 Alisolujen_esimerkki () alue ("C2: E8"). Solut (1, 1) .Valitse Lopeta ala 

Se on valinnut solun C2. Mutta solut (1, 1) tarkoittaa A1-solua, eikö olekin?

Syy siihen, että se on valinnut solun C2, koska käyttämällä alueobjektia olemme vaatineet aluetta C2: sta E8: een, joten Cells-ominaisuus käsittelee aluetta C2: sta E8: een, ei tavallisesta A1-solusta. Tässä esimerkissä C2 on ensimmäinen rivi ja ensimmäinen sarake, joten Solut (1, 1) .select tarkoittaa C2-solua.

Nyt vaihdan koodiksi Range ("C2: E8"). Solut (3, 2). Valitse ja katso mitä tapahtuu.

Suorita tämä koodi ja tarkista, minkä solun se todella valitsee.

 Alisolujen_esimerkki () alue ("C2: E8"). Solut (3, 2) .Valitse Lopeta ala 

Se on valinnut solun D4 eli nro 26. Solut (3,2) tarkoittavat alkaen C2-solusta, joka on siirretty alaspäin 3 rivillä, ja siirtävät 2 saraketta oikealle eli D4-solulle.

# 3 - Solujen ominaisuus silmukoilla

CELLS-ominaisuudella, jossa on silmukoita, on erittäin hyvä suhde VBA: ssa. Katsotaanpa esimerkkiä sarjanumeroiden 1 - 10 lisäämisestä FOR LOOP -toiminnolla. Kopioi ja liitä alla oleva koodi moduuliin.

 Alisolut_esimerkki () Dim i kokonaislukuna i = 1 - 10 solua (i, 1). Arvo = i Seuraava i Lopeta ali 

Täällä olen ilmoittanut muuttujan I kokonaisluvuksi.

Sitten olen hakenut FOR LOOPia, jonka I = 1-10, ts. Silmukan on oltava käynnissä 10 kertaa.

Solut (i, 1). Arvo = i

Tämä tarkoittaa, että kun silmukka suoritetaan ensimmäisen kerran, I-arvon arvo on 1, joten missä I-arvon arvo on 1 eli solu (1,1) .arvo =

Kun silmukka palauttaa “I” -arvon toisen kerran, se on 2, joten missä tahansa ”I”: n arvo on, se on 2. i. E. Solu (2,1) .arvo = 2

Tämä silmukka toimii 10 kertaa ja lisää I- arvon A1: stä A10: een.

Muistettavaa VBA-soluissa

  • CELLS on omaisuus, mutta RANGE on objekti. Voimme käyttää omaisuutta esineiden kanssa, mutta emme voi vastustaa omaisuutta.
  • Kun alue toimitetaan, solut ottavat huomioon vain kyseisen alueen, eivät säännöllistä aluetta.
  • Solut (1, 2) on B1-solu, samoin Solut (1, ”B”) on myös B1-solu.

$config[zx-auto] not found$config[zx-overlay] not found