Solut ovat itse asiassa laskentataulukon ja VBA: n soluja, 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, 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 ominaisuus Excel-taulukossa. VBA: ssa meillä on kaksi tapaa viitata soluobjekti toiseen Rangein 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: een, alla on koodi.
Koodi: Alue (“A1: A10”). Valitse
Valitettavasti voimme kuitenkin viitata vain yhteen soluun kerrallaan käyttämällä CELLS-ominaisuutta. Voimme käyttää soluja Range-objektin kanssa, 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.
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 taulukkoon, käytä WORKSHEET-objektia.
Laskentataulukot ("Data 1"). Solut (1,1). Arvo = "Hei"

Tämä lisää sanan "Hei" välilehteen "Data 1" riippumatta siitä, missä taulukossa 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 alueobjektin avulla 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äen 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ässä olen ilmoittanut muuttujan I kokonaisluvuksi.
Sitten olen hakenut silmukkaa, jossa I = 1-10 eli silmukan on suoritettava 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 = 1
Kun silmukka palauttaa I-arvon toisen kerran, se on 2, joten missä tahansa I-arvon arvo on, ts. Solu (2,1). Arvo = 2
Tämä silmukka toimii 10 kertaa ja lisää I- arvon A1: stä A10: een.
Muistettavia asioita 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.