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 -malliOletetaan, 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.