Excel VBA -palvelutoiminto

Kuinka usein joudut tilanteeseen, jossa sinun on mainittava Excel-tietojen kanssa käytettävän taulukkotietojen enimmäispituus tai yläraja? Suurimman osan ajasta, eikö niin? Ja miten löydät saman? Ehkä manuaalisesti suurimman osan ajasta. Voit kuitenkin automatisoida sen ja saada taulukon enimmäispituuden tai ylärajan käyttämällä VBA-toimintoa nimeltään UBound.

Lisäksi sillä on kaunein tapa silmukoida. Kuten jos käytät For-silmukkaa taulukossasi, halusit ehdottomasti silmukoida kaikki taulukon elementit. Tällöin olisi tylsiä selvittää yläraja käsin ja mainita se silmukassa. Se vähentää myös koodin yleisyyttä. Siksi VBA UBound -toiminto on kätevä tällaisissa tilanteissa.

UBound tarkoittaa ylärajaa ja se antaa taulukon ylärajan tai enimmäispituuden Excel VBA: ssa.

Kaava UBound-toiminnolle Excel VBA: ssa

Excel VBA UBound -toiminnolla on seuraava syntaksi.

 UBound (taulukonimi (, ulottuvuus)) 

Missä,

  • Taulukon nimi : Määrittämäsi taulukon nimi. Tämä argumentti on pakollinen / vaadittava argumentti.
  • Dimension: Valinnainen argumentti, joka määrittelee taulukon ulottuvuuden. Olipa kyse yhden- tai kaksiulotteisesta tai moniulotteisesta taulukosta. Oletuksena se olettaa yhden ulotteisen taulukon, ellei sitä ole määritetty.

Koska tällä funktiolla on vain kaksi argumenttia, funktion syntaksin muistaminen on paljon helpompaa.

Kuinka käyttää Excel VBA UBound -toimintoa?

Opimme käyttämään VBA UBound -toimintoa muutamalla esimerkillä Excelissä.

Voit ladata tämän VBA UBound Excel -mallin täältä - VBA UBound Excel Template

Esimerkki 1 - VBA: n sidottu yhden ulottuvuuden ryhmällä

Noudata alla olevia vaiheita käyttääksesi UBound-toimintoa VBA: ssa.

Vaihe 1: Avaa VB-editori napsauttamalla Kehittäjä-välilehdessä Visual Basic -painiketta.

Vaihe 2: Napsauta Lisää ja valitse Moduuli- välilehti lisätäksesi uuden tyhjän moduulin VBE: hen.

Vaihe 3: Aloita makron kirjoittaminen VBE: ssä ja määritä muuttujan nimi.

Koodi:

 Sub Onedm_Ubound () himmentää IndiaCity (4) merkkijonona End Sub 

Tässä muuttuja IndiaCity määritetään viidellä elementillä. Muuttujan tyyppi on merkkijono.

Huomaa: Taulukko alkaa nollasta (nolla). Siksi tämä taulukko koostuu viidestä elementistä.

Vaihe 4: Määritä arvot taulukkoelementeille.

Koodi:

 Sub Onedm_Ubound () himmentää IndiaCity (4) Kuten merkkijono IndiaCity (0) = "Mumbai" IndiaCity (1) = "Bengaluru" IndiaCity (2) = "Hyderabad" IndiaCity (3) = "Delhi" IndiaCity (4) = "Pune "Lopeta ala 

Tässä zeroth-elementissä on arvo, joka on osoitettu nimellä “Mumbai”, ensimmäisellä elementillä on arvo, joka on osoitettu “Bengaluru” ja niin edelleen.

Vaihe 5: Käytä UBound-toimintoa yhdessä MsgBoxin kanssa saadaksesi taulukon ylärajan.

Koodi:

 Sub Onedm_Ubound () himmentää IndiaCity (4) Kuten merkkijono IndiaCity (0) = "Mumbai" IndiaCity (1) = "Bengaluru" IndiaCity (2) = "Hyderabad" IndiaCity (3) = "Delhi" IndiaCity (4) = "Pune "MsgBox" Taulukon ylempi raja on: "& UBound (IndiaCity) End Sub 

Vaihe 6: Suorita tämä koodi napsauttamalla F5 suoraan tai napsauttamalla manuaalisesti vasemman yläosan paneelin Suorita-painiketta. Näkyviin tulee viestiruutu, jossa on viesti ” Array Yläraja on: 4 ”.

Huomaa, että UBound-toiminto ei löydä ylärajaa taulukon elementeistä. Se vain selvittää enimmäismäärän elementtejä, joita taulukossa on.

Esimerkki 2 - VBA: n sitoutumaton kaksiulotteiseen ryhmään

Noudata alla olevia vaiheita käyttääksesi UBound-toimintoa VBA: ssa.

Vaihe 1: Määritä muuttuja, joka voi pitää kaksiulotteista dataa.

Koodi:

 Sub TwoDm_UBound () Dim Array_Test (0 - 6, 1 - 8) merkkijonona loppuosa 

Vaihe 2: Määritä uusi muuttuja Viesti ja käytä sitä MsgBox-kohdassa. Tämä muuttuja auttaa meitä tulostamaan molempien ulottuvuuksien ylärajat samanaikaisesti.

Koodi:

 Sub TwoDm_UBound () Dim Array_Test (0 - 6, 1 - 8) merkkijonona himmennetyn viestin MsgBox viestin loppu Sub 

Vaihe 3: Kokeile nyt seuraavia lauseita, joiden avulla järjestelmä voi tulostaa taulukon molemmat mitat samassa viestiruudussa.

Koodi:

 Sub TwoDm_UBound () Dim Array_Test (0 - 6, 1 - 8) Kuten merkkijono Dim Message Message = "Ensimmäisen ulottuvuuden yläraja on:" & UBound (Array_Test, 1) & vbCrLf Message = Message & "Toisen ulottuvuuden yläraja on" : "& UBound (Array_Test, 2) & vbCrLf MsgBox-sanoman loppuosa 

Edellä mainitussa koodissa mainitut kaksi lausetta sallivat järjestelmän tulostaa molemmat mitat samassa viestiruudussa. Ensimmäinen käsky tallentaa ensimmäisen ulottuvuuden ylärajan arvon Viesti-muuttujaan ja lopettaa rivin (vbCrLf). Toinen lause lisää ensimmäisen muuttujille Message määritetyn arvon ja yhdistää sen toisen ulottuvuuden ylärajaan ponnahdusikkunassa.

Koska vbCrLf: tä käytetään molemmissa lauseissa, se toimii rivinvaihtona / paluupalautuksena tässä molemmissa lauseissa.

Vaihe 4: Suorita koodi napsauttamalla F5 tai Suorita-painiketta ja katso lähtö.

Samanlaisilla linjoilla voimme mennä useita ulottuvuuksia asti ja nähdä niiden ylärajan.

Esimerkki 3 - UBound-toiminto päivittää arkin tiedot automaattisesti

Oletetaan, että sinulla on alla olevan kuvakaappauksen mukainen datajoukko.

Nämä tiedot päivitetään, ja päivitetyt tiedot on kopioitava silloin tällöin. Nyt on todella tylsää työtä tarkistaa aina tietopäivitykset ja kopioida se sitten uudelle arkille. Se vie myös paljon aikaa. Voimmeko yrittää automatisoida sen käyttämällä UBound-toimintoa VBA: lla? Katsotaan.

Noudata seuraavia ohjeita päivittääksesi arkin tiedot automaattisesti VBA UBound -toiminnolla:

Vaihe 1: Määritä muuttuja luomalla makro.

Koodi:

 Sub Ex3_UBound () Himmennä DataUpdate () Variant End End Sub 

Vaihe 2: Aktivoi tietosi sisältävä taulukko. Tässä tapauksessa arkin nimi on ” Data ”.

Koodi:

 Sub Ex3_UBound () Himmennä DataUpdate () Variant Sheets ("Data"). Aktivoi End Sub 

Vaihe 3: Määritä alue juuri luomallesi muuttujalle. Käytämme tähän tarkoitukseen aktivoituja arkkeja.

Koodi:

 Sub Ex3_UBound () himmentää DataUpdate () Variant Sheets ("Data"). Aktivoi DataUpdate = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) End Sub 

Vaihe 4: Lisää uusi laskentataulukko Exceliin, jossa päivitetyt tiedot voidaan kopioida ja liittää.

Koodi:

 Sub Ex3_UBound () himmentää DataUpdate () Variant Sheets ("Data"). Aktivoi DataUpdate = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) Worksheets.Add End Sub 

Vaihe 5: Käytä nyt alla olevaa koodiriviä, jonka avulla ”Data” -lehden tiedot voidaan kopioida ja liittää uuteen Excel-taulukkoon automaattisesti.

Koodi:

 Sub Ex3_UBound () himmentää DataUpdate () Variant Sheets ("Data"). Aktivoi DataUpdate = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) Worksheets.Add Range (ActiveCell, ActiveCell.Offset (UBound (DataUpdate, 1) - 1, UBound (DataUpdate, 2) - 1)) = DataUpdate End Sub 

Yllä oleva koodi kompensoi solut “Data” -lehdeltä ylöspäin ylärajaan, joka voidaan saavuttaa käytetyllä UBound-toiminnolla, ja määrittää alueen muuttuvalle DataUpdate.

Vaihe 6: Suorita koodi napsauttamalla F5 tai Suorita-painiketta ja katso lähtö.

Kuten näette, Excel-työkirjaan on lisätty uusi arkki, jossa kaikki ”Data” -lehden tiedot kopioidaan automaattisesti.

Tämä on dynaaminen koodi. Tarkoitan dynaamisen sanomista, että vaikka lisään sarakkeellisesti ja riviviisaasti, se kopioidaan automaattisesti uudelle arkille.

Vaihe 7: Lisätään joitain rivejä ja sarakkeita tietoihin ja tarkistetaan, toimiiko se todella.

Vaihe 8: Paina uudelleen Suorita-painiketta, kun tietosivu on päivitetty, ja näe taikuus.

Jos näet, uusi arkki lisätään (värillinen) ja uusi ikäsarake sekä kaksi uutta riviä lisätään myös kyseiseen arkkiin. Se tarkoittaa, että mitä tahansa päivitämme päätiedostossa (Data), tämä koodi kopioi automaattisesti kaiken siitä ja liittää sen uudelle arkille.

Muistettavat asiat

  • UBound antaa taulukon ylärajan / maksimipituuden eikä ylärajan taulukossa olevista datapisteistä.
  • Taulukko alkaa aina 0 - asemasta yhdensuuntaisesti useimpien ohjelmointikielten kuten C, C ++, Python kanssa.
  • Jos taulukko on moniulotteinen, sinun on myös määriteltävä mittaargumentti, joka vie numeeriset kokonaisarvot, kuten 1, 2, 3 jne. 1 tarkoittaa yhdenulotteista, 2 kaksiulotteista ja niin edelleen.

Suositellut artikkelit

Tämä on opas VBA UBound Function -toimintoon. Tässä keskustellaan siitä, kuinka käyttää Excel VBA UBound Function -toimintoa yhdessä joidenkin käytännön esimerkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA-split-toiminto esimerkeillä
  2. Excel-suurten kirjainten toiminto
  3. VBA-ottelu
  4. KATTAMINEN Toiminto Excelissä
  5. Kuinka käyttää VBA-laskentataulukoita?

Luokka: