Tämä opetusohjelma opettaa sinulle, miten vuorovaikutuksessa soluarvojen kanssa käytetään VBA: ta.
Aseta solun arvo
Voit määrittää solun arvon käyttämällä Alue- tai Solut -objektin Arvo -ominaisuutta.
Range.Value & Cells.Value
VBA -soluihin voi viitata kahdella tavalla:
- Alueobjekti - Alue (“A2”). Arvo
- Solut -objekti - Solut (2,1) Arvo
Range -objektin avulla voit viitata soluun käyttämällä tavallista A1 -merkintätapaa.
Tämä asettaa alueen A2 arvon = 1:
1 | Alue ("A2"). Arvo = 1 |
Solut -objektin avulla voit viitata soluun sen rivinumeron ja sarakkeen numeron perusteella.
Tämä asettaa alueen A2 arvon = 1:
1 | Solut (2,1) Arvo = 1 |
Huomaa, että kirjoitat rivinumeron ensin:
1 | Solut (rivinumero, sarakkeen numero) |
Aseta useiden solujen arvot kerralla
Sen sijaan, että viittaisit yhteen soluun, voit viitata solualueeseen ja muuttaa kaikkia soluarvoja kerralla:
1 | Alue ("A2: A5"). Arvo = 1 |
Aseta solun arvo - teksti
Yllä olevissa esimerkeissä asetamme solun arvon yhtä suureksi kuin luku (1). Sen sijaan voit asettaa solun arvon yhtä suureksi kuin tekstijono. VBA: ssa kaiken tekstin on oltava lainausten ympäröimä:
1 | Alue ("A2"). Arvo = "Teksti" |
Jos et ympäröi tekstiä lainausmerkeillä, VBA luulee viittaavan muuttujaan …
Aseta solun arvo - muuttuja
Voit myös asettaa solun arvon, joka on yhtä suuri kuin muuttuja
1234 | Himmennä strText merkkijononastrText = "Tekstijono"Alue ("A2"). Arvo = strText |
Hanki solun arvo
Voit saada soluarvoja käyttämällä samaa Value -ominaisuutta, jota käytimme yllä.
Hanki ActiveCell -arvo
Voit hakea ActiveCell -arvon ja näyttää sen viestiruudussa seuraavasti:
1 | MsgBox ActiveCell.Value |
Määritä solun arvo muuttujalle
Solun arvon saaminen ja sen määrittäminen muuttujalle:
123 | Dim var kuin varianttivar = Alue ("A1"). Arvo |
Tässä käytimme Variant -tyyppistä muuttujaa. Muuttujat voivat hyväksyä minkä tahansa tyyppisiä arvoja. Sen sijaan voit käyttää merkkijonomuuttujatyyppiä:
123 | Himmennä merkkijononavar = Alue ("A1"). Arvo |
Merkkijonomuuttujatyyppi hyväksyy numeeriset arvot, mutta se tallentaa numerot tekstinä.
Jos tiedät, että solun arvo on numeerinen, voit käyttää kaksoismuuttujatyyppiä (kaksoismuuttujat voivat tallentaa desimaaliarvoja):
123 | Himmennä kaksinkertaisenavar = Alue ("A1"). Arvo |
Jos kuitenkin yrität tallentaa tekstiä sisältävän solun arvon kaksoismuuttajaan, saat tyypin virheellisen virheen:
Muita solun arvoesimerkkejä
Kopioi solun arvo
Solun arvon asettaminen toiseen soluarvoon on helppoa (tai "Kopioi" solun arvo):
1 | Alue ("A1"). Arvo = Alue ("B1"). Arvo |
Voit jopa tehdä tämän solualueilla (alueiden on oltava samankokoisia):
1 | Alue ("A1: A5"). Arvo = Alue ("B1: B5"). Arvo |
Vertaa solujen arvoja
Voit verrata solujen arvoja tavallisilla vertailuoperaattoreilla.
Testaa, ovatko solujen arvot yhtä suuret:
1 | MsgBox -alue ("A1"). Arvo = Alue ("B1"). Arvo |
Palauttaa arvon TOSI, jos solun arvot ovat samat. Muuten EPÄTOSI.
Voit myös luoda If -lauseen solujen arvojen vertaamiseksi:
12345678910111213 | Jos Alue ("A1"). Arvo> Alue ("B1"). Arvo SittenAlue ("C1"). Arvo = "Suurempi kuin"Elseif -alue ("A1"). Arvo = Alue ("B1"). Arvo sittenAlue ("C1"). Arvo = "yhtä"MuuAlue ("C1"). Arvo = "Alle"Loppu Jos |
Voit vertailla tekstiä samalla tavalla (Muista, että VBA erottaa kirjaimet ja kirjaimet)