Hyödyllisiä alueobjektin ominaisuuksia Excel VBA:lle kaikkien tulisi tietää

Range-objektilla on kymmeniä ominaisuuksia. Voit kirjoittaa VBA-ohjelmia keskeytyksettä seuraavat 12 kuukautta etkä koskaan käytä niitä kaikkia. Täältä saat lyhyen yleiskatsauksen joistakin yleisimmin käytetyistä Excel VBA Range -ominaisuuksista. Katso täydelliset tiedot VBE:n ohjejärjestelmästä. (Katso näistä lisäresursseista apua Excel VBA:n kanssa .)

Jotkut Excel VBA Range -ominaisuudet ovat vain luku -ominaisuuksia, mikä tarkoittaa, että koodisi voi tarkastella niiden arvoja, mutta ei voi muuttaa niitä ("Katso, mutta älä koske"). Esimerkiksi jokaisella Excel VBA Range -objektilla on Address-ominaisuus, joka sisältää alueen osoitteen. Voit käyttää tätä vain luku -ominaisuutta, mutta et voi muuttaa sitä – mikä on täysin järkevää, kun ajattelet sitä.

Muuten, seuraavat esimerkit ovat tyypillisesti lausuntoja eikä täydellisiä menettelyjä. Jos haluat kokeilla jotakin näistä (ja sinun pitäisi), luo alitoiminto tehdäksesi niin. Lisäksi monet näistä VBA-käskyistä toimivat oikein vain, jos laskentataulukko on aktiivinen taulukko.

Excel VBA: Arvo-ominaisuus

Arvo-ominaisuus edustaa solun sisältämää arvoa. Se on luku-kirjoitusominaisuus, joten VBA-koodisi voi joko lukea tai muuttaa arvoa.

Seuraava lause näyttää viestiruudun, joka näyttää arvon taulukon 1 solussa A1:

MsgBox Worksheets("Sheet1").Range("A1").Arvo

On selvää, että voit lukea Arvo-ominaisuuden vain yksisoluiselle Range-objektille. Esimerkiksi seuraava lauseke luo virheen:

MsgBox Worksheets("Sheet1").Alue("A1:C3").Arvo

Voit kuitenkin muuttaa Arvo-ominaisuutta minkä tahansa kokoiselle alueelle. Seuraava lause kirjoittaa luvun 123 jokaiseen alueen soluun:

Työarkit("Sheet1").Alue("A1:C3").Arvo = 123

Arvo on Excel VBA Range -objektin oletusominaisuus. Toisin sanoen, jos jätät väliltä ominaisuuden pois, Excel käyttää Arvo-ominaisuuttaan. Molemmat lauseet syöttävät arvon 75 aktiivisen laskentataulukon soluun A1:

Alue("A1"). Arvo = 75
Alue("A1") = 75

Excel VBA: Teksti-ominaisuus

Teksti-ominaisuus palauttaa merkkijonon, joka edustaa tekstiä sellaisena kuin se näkyy solussa – muotoillun arvon. Teksti-ominaisuus on vain luku -tilassa. Oletetaan, että solu A1 sisältää arvon 12,3 ja se on muotoiltu näyttämään kaksi desimaalia ja dollarimerkki (12,30 dollaria). Seuraava lause näyttää viestiruudun, joka sisältää 12,30 dollaria:

MsgBox Worksheets("Sheet1").Range("A1").Text

Mutta seuraava lause näyttää viestiruudun, joka sisältää 12.3:

MsgBox Worksheets("Sheet1").Range("A1").Arvo

Jos solu sisältää kaavan, Text-ominaisuus palauttaa kaavan tuloksen. Jos solu sisältää tekstiä, Text-ominaisuus ja Value-ominaisuus palauttavat aina saman asian, koska tekstiä (toisin kuin numeroa) ei voida muotoilla näytettäväksi eri tavalla.

Excel VBA: Count-ominaisuus

Ominaisuus Count palauttaa solujen määrän alueella. Se laskee kaikki solut, ei vain ei-tyhjät solut. Count on vain luku -ominaisuus, kuten voit odottaa. Seuraava käsky käyttää alueen Count-ominaisuutta ja näyttää tuloksen (9) viestiruudussa:

MsgBox Range("A1:C3").Count

Excel VBA: Sarake- ja Rivi-ominaisuudet

Column-ominaisuus palauttaa yksisoluisen alueen sarakenumeron. Sen apuväline, Rivi-ominaisuus, palauttaa yksisoluisen alueen rivinumeron. Molemmat ovat vain luku -ominaisuuksia. Esimerkiksi seuraava lause näyttää 6, koska solu F3 on kuudennessa sarakkeessa:

MsgBox Sheets("Sheet1").Alue("F3").Sarake

Seuraava lauseke näyttää 3, koska solu F3 on kolmannella rivillä:

MsgBox Sheets("Sheet1").Alue("F3").Rivi

Jos Excel VBA Range -objekti koostuu useammasta kuin yhdestä solusta, Column-ominaisuus palauttaa alueen ensimmäisen sarakkeen sarakenumeron ja Row-ominaisuus palauttaa alueen ensimmäisen rivin rivinumeron.

Älä sekoita Column- ja Row-ominaisuuksia Sarakkeet- ja Rivit-ominaisuuksiin. Sarake- ja Rivi-ominaisuudet palauttavat yhden arvon. Sarakkeet ja rivit -ominaisuudet puolestaan ​​palauttavat Range-objektin. Mitä eroa "s" tekee.

Excel VBA: Osoite-ominaisuus

Address, vain luku -ominaisuus, näyttää Range-objektin soluosoitteen absoluuttisena viittauksena (dollarimerkki ennen sarakkeen kirjainta ja ennen rivinumeroa). Seuraava lause näyttää alla olevan viestiruudun:

Viestilaatikon alue (solut (1, 1), solut (5, 5)). Osoite

Hyödyllisiä alueobjektin ominaisuuksia Excel VBA:lle kaikkien tulisi tietää

Tämä viestiruutu näyttää 5 x 5 -alueen Address-ominaisuuden.

Excel VBA: HasFormula-ominaisuus

HasFormula-ominaisuus (joka on vain luku -tilassa) palauttaa True-arvon, jos yksisoluinen alue sisältää kaavan. Se palauttaa False, jos solu sisältää jotain muuta kuin kaavan (tai on tyhjä). Jos alue koostuu useammasta kuin yhdestä solusta, VBA palauttaa True vain, jos kaikki alueen solut sisältävät kaavan tai False, jos kaikilla alueen soluilla ei ole kaavaa. Ominaisuus palauttaa Null-arvon, jos alue sisältää yhdistelmän kaavoja ja epäkaavoja. Null on eräänlainen ei-kenenkään maa: vastaus ei ole tosi eikä epätosi, ja kaikilla alueen soluilla voi olla tai ei ole kaava.

Sinun on oltava varovainen, kun työskentelet ominaisuuksien kanssa, jotka voivat palauttaa Null-arvon. Tarkemmin sanottuna ainoa tietotyyppi, joka voi käsitellä Nullia, on Variant.

Oletetaan esimerkiksi, että solu A1 sisältää arvon ja solu A2 sisältää kaavan. Seuraavat lauseet luovat virheen, koska alue ei koostu kaikista kaavoista tai kaikista epäkaavoista:

Dim FormulaTest Boolean
FormulaTest = Alue("A1:A2").HasFormula

Boolen tietotyyppi voi käsitellä vain tosi tai epätosi. Null saa Excelin valittamaan ja näyttämään virheilmoituksen. Tämän tyyppisen tilanteen korjaamiseksi paras tapa on varmistaa, että FormulaTest-muuttuja on ilmoitettu muunnelmaksi eikä Boolen arvoksi. Seuraava esimerkki käyttää VBA:n kätevää TypeName-funktiota (yhdessä If-Then-Else-rakenteen kanssa) määrittämään FormulaTest-muuttujan tietotyypin. Jos alueella on sekoitus kaavoja ja epäkaavoja, viestiruudussa näkyy Mixed! Muussa tapauksessa se näyttää True tai False .

Sub CheckFormulas()
  Dim FormulaTest Varianttina
  FormulaTest = Alue("A1:A2").HasFormula
  Jos TypeName(FormulaTest) = "Null" Sitten
    MsgBox "Mixed!"
  Muu
    MsgBox FormulaTest
  Loppu Jos
Lopeta ala

Excel VBA: Font-ominaisuus

Omaisuus voi palauttaa esineen. Excel VBA Range -objektin Font-ominaisuus on toinen esimerkki toimivasta konseptista. Fontti-ominaisuus palauttaa Font-objektin.

Fonttiobjektilla, kuten saatat odottaa, on monia käytettävissä olevia ominaisuuksia. Jos haluat muuttaa jotakin alueen kirjasimen osiota, sinun on ensin käytettävä alueen Font-objektia ja sitten manipuloitava objektin ominaisuuksia. Tämä saattaa olla hämmentävää, mutta ehkä tämä esimerkki auttaa.

Seuraava käsky käyttää Range-objektin Font-ominaisuutta palauttamaan Font-objektin. Sitten Font-objektin Bold-ominaisuuden arvoksi asetetaan True. Selkeässä englannin kielessä tämä lause näyttää solun lihavoituna:

Alue("A1").Font.Bold = tosi

Totuus on, että sinun ei todellakaan tarvitse tietää, että käytät erityistä Font-objektia, joka sisältyy Excel VBA Range -objektiin. Niin kauan kuin käytät oikeaa syntaksia, se toimii hyvin. Usein toimintojesi tallentaminen makrotallentimella kertoo kaiken, mitä sinun tulee tietää oikeasta syntaksista.

Excel VBA: Sisätilojen ominaisuus

Tässä on vielä yksi esimerkki ominaisuudesta, joka palauttaa objektin. Range-objektin Interior-ominaisuus palauttaa Interior-objektin (outo nimi, mutta niin sitä kutsutaan). Tämäntyyppinen objektiviittaus toimii samalla tavalla kuin Font-ominaisuus.

Esimerkiksi seuraava käsky muuttaa Range-objektin sisältämän Interior-objektin Color-ominaisuuden:

Alue("A1").Sisä.Väri = 8421504

Toisin sanoen tämä lause muuttaa solun taustan keskiharmaaksi. Mikä tuo on? Etkö tiennyt, että 8421504 on keskiharmaa? Saat näkemyksiä Excelin upeasta värimaailmasta lähellä olevasta sivupalkista "Nopea ja likainen väripohjamaali".

Excel VBA: Kaava-ominaisuus

Kaava-ominaisuus edustaa kaavaa solussa. Tämä on luku-kirjoitusominaisuus, joten voit käyttää sitä tarkastellaksesi kaavaa solussa tai lisätäksesi kaavan soluun. Esimerkiksi seuraava käsky syöttää SUMMA-kaavan soluun A13:

Alue("A13"). Kaava = "=SUMMA(A1:A12)"

Huomaa, että kaava on tekstimerkkijono ja se on lainausmerkeissä. Huomaa myös, että kaava alkaa yhtäläisyysmerkillä, kuten kaikki kaavat.

Jos kaava itsessään sisältää lainausmerkkejä, asiat muuttuvat hieman hankalaksi. Sano, että haluat lisätä tämän kaavan käyttämällä VBA:ta:

=SUMMA(A1:A12)&"kaupat"

Tämä kaava näyttää arvon, jota seuraa sana Stores . Jotta tämä kaava olisi hyväksyttävä, sinun on korvattava jokainen kaavan lainausmerkki kahdella lainausmerkillä. Muuten VBA hämmentyy ja väittää syntaksivirheen (koska on!). Joten tässä on lause, joka syöttää lainausmerkkejä sisältävän kaavan:

Alue("A13"). Kaava = "=SUMMA(A1:A12)&"" Kaupat"""

Muuten, voit käyttää solun Formula-ominaisuutta, vaikka solulla ei olisi kaavaa. Jos solulla ei ole kaavaa, Kaava-ominaisuus palauttaa saman kuin sen Arvo-ominaisuus.

Jos haluat tietää, onko solulla kaava, käytä HasFormula-ominaisuutta.

Huomaa, että VBA "puhuu" Yhdysvaltain englantia. Tämä tarkoittaa, että kaavan sijoittamiseksi soluun on käytettävä Yhdysvaltain syntaksia. Jos käytät Excelin muuta kuin englanninkielistä versiota, lue lisätietoja ohjejärjestelmän FormulaLocal-ominaisuudesta.

Excel VBA: NumberFormat-ominaisuus

NumberFormat-ominaisuus edustaa Range-objektin numeromuotoa (ilmaistuna tekstimerkkijonona). Tämä on luku-kirjoitusominaisuus, joten VBA-koodisi voi joko tarkastella numeromuotoa tai muuttaa sitä. Seuraava lause muuttaa sarakkeen A lukumuodon prosentteina kahdella desimaalilla:

Sarakkeet("A:A").NumberFormat = "0.00%"

Seuraa näitä ohjeita nähdäksesi luettelon muista numeromuodoista (mitä vielä parempi, käynnistä makrotallennin samalla kun teet tämän):

Aktivoi laskentataulukko.

Paina Ctrl+1 päästäksesi Muotoile solut -valintaikkunaan.

Napsauta Numero-välilehteä.

Valitse Mukautettu luokka tarkastellaksesi ja ottaaksesi käyttöön joitain muita numeromuotoja.


Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa Microsoft Word avaa tiedostot vain luku -tilassa, jolloin niiden muokkaaminen on mahdotonta? Älä huoli, menetelmät ovat alla

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Virheiden korjaaminen virheellisten Microsoft Word -asiakirjojen tulostuksessa. Virheet tulostettaessa Word-asiakirjoja, joissa on muuttuneet fontit, sotkuiset kappaleet, puuttuva teksti tai kadonnut sisältö ovat melko yleisiä. Älä kuitenkaan

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Jos olet piirtänyt PowerPoint-dioihin esityksen aikana kynää tai korostuskynää, voit tallentaa piirustukset seuraavaa esitystä varten tai poistaa ne, jotta seuraavan kerran näytät ne. Aloitat puhtailla PowerPoint-dioilla. Pyyhi kynä- ja korostuskynäpiirrokset noudattamalla näitä ohjeita: Pyyhi rivit yksi kerrallaan […]

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjasto sisältää CSS-tiedostoja, Extensible Stylesheet Language (XSL) -tiedostoja ja kuvia, joita käyttävät ennalta määritetyt sivupohjat, sivuasettelut ja säätimet SharePoint 2010:ssä. CSS-tiedostojen etsiminen julkaisusivuston tyylikirjastosta: Valitse Sivuston toiminnot→ Näytä Kaikki sivuston sisältö. Sivuston sisältö tulee näkyviin. Style-kirjasto sijaitsee […]

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Älä hukuta yleisöäsi jättimäisillä numeroilla. Microsoft Excelissä voit parantaa koontinäyttöjesi ja raporttiesi luettavuutta muotoilemalla numerot näyttämään tuhansia tai miljoonia.

SharePoint-sivustojen jakaminen ja seuraaminen

SharePoint-sivustojen jakaminen ja seuraaminen

Opi käyttämään SharePointin sosiaalisen verkostoitumisen työkaluja, joiden avulla yksilöt ja ryhmät voivat kommunikoida, tehdä yhteistyötä, jakaa ja pitää yhteyttä.

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Juliaanisia päivämääriä käytetään usein valmistusympäristöissä aikaleimana ja pikaviitteenä eränumerolle. Tämän tyyppisen päivämääräkoodauksen avulla jälleenmyyjät, kuluttajat ja huoltoedustajat voivat tunnistaa tuotteen valmistusajankohdan ja siten tuotteen iän. Julian-päivämääriä käytetään myös ohjelmoinnissa, armeijassa ja tähtitiedessä. Erilainen […]

Access-verkkosovelluksen luominen

Access-verkkosovelluksen luominen

Voit luoda verkkosovelluksen Access 2016:ssa. Mikä verkkosovellus sitten on? No, verkko tarkoittaa, että se on verkossa, ja sovellus on vain lyhenne sanoista "sovellus". Mukautettu verkkosovellus on online-tietokantasovellus, jota käytetään pilvestä selaimen avulla. Rakennat ja ylläpidät verkkosovellusta työpöytäversiossa […]

Pikakäynnistyspalkki SharePoint 2010:ssä

Pikakäynnistyspalkki SharePoint 2010:ssä

Useimmat SharePoint 2010:n sivut näyttävät navigointilinkkien luettelon pikakäynnistyspalkissa sivun vasemmassa reunassa. Pikakäynnistyspalkki näyttää linkit esitellyn sivuston sisältöön, kuten luetteloihin, kirjastoihin, sivustoihin ja julkaisusivuihin. Pikakäynnistyspalkki sisältää kaksi erittäin tärkeää linkkiä: Koko sivuston sisältö -linkki: […]

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Yksinkertaisille ongelmille Excelin Ratkaisija löytää yleensä nopeasti optimaaliset Ratkaisijamuuttujien arvot tavoitefunktiolle. Mutta joissakin tapauksissa Ratkaisijalla on vaikeuksia löytää Solver-muuttujan arvoja, jotka optimoivat tavoitefunktion. Näissä tapauksissa Ratkaisija näyttää yleensä viestin tai virheilmoituksen, joka kuvaa tai käsittelee ongelmaa, jonka […]