Artikkelin tunnus: 291308 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Tällä sivulla

Enemmän tietoa

Microsoftin tarjoamat ohjelmointiesimerkit ovat vain ohjeellisia. Niille ei anneta mitään nimenomaisesti ilmaistua tai oletettua takuuta, mukaan lukien oletettu takuu tuotteen soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta johonkin tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen sekä työkaluihin, joita käytetään prosessien luomisessa sekä virheiden jäljittämisessä ja korjaamisessa. Microsoftin tukipalvelun asiantuntijat voivat auttaa tietyn toiminnon toteuttamisessa, mutta he eivät muokkaa näitä esimerkkejä niiden kuvaamien toimintojen parantamiseksi eivätkä esitä ratkaisuja erityistarpeita varten. Tässä artikkelissa olevissa esimerkeissä käytetään seuraavassa taulukossa lueteltuja Visual Basic -menetelmiä.
   Method             Arguments
   ------------------------------------------
   Activate           none
   Cells              rowIndex, columnIndex
   Application.Goto   reference, scroll
   Offset             rowOffset, columnOffset
   Range              cell1
                      cell1, cell2
   Resize             rowSize, columnSize
   Select             none
   Sheets             index (or sheetName)
   Workbooks          index (or bookName)
   End                direction
   CurrentRegion      none
				
Tässä artikkelissa olevat esimerkit käyttävät seuraavan taulukon ominaisuuksia.
   Property         Use
   ---------------------------------------------------------------------
   ActiveSheet      to specify the active sheet
   ActiveWorkbook   to specify the active workbook
   Columns.Count    to count the number of columns in the specified item
   Rows.Count       to count the number of rows in the specified item
   Selection        to refer to the currently selected range
				

1: Aktiivisen laskentataulukon solun valitseminen

Jos haluat valita solun D5 aktiivisessa laskentataulukossa, voit käyttää jompaakumpaa seuraavista esimerkeistä:
ActiveSheet.Cells(5, 4).Select
				
TAI
ActiveSheet.Range("D5").Select
				

2: Saman työkirjan toisen laskentataulukon solun valitseminen

Jos haluat valita solun E5 saman työkirjan toisessa laskentataulukossa, voit käyttää jompaakumpaa seuraavista esimerkeistä:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
				
   -or-
				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
				
Voit myös aktivoida laskentataulukon ja valita solun käyttämällä edellä olevaa tapaa 1:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
				

3: Eri työkirjan laskentataulukon solun valitseminen

Jos haluat valita solun F7 eri työkirjan laskentataulukossa, voit käyttää jompaakumpaa seuraavista esimerkeistä:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
				
TAI
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
				
Voit myös aktivoida laskentataulukon ja valita solun käyttämällä edellä olevaa tapaa 1:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
				

4: Aktiivisen laskentataulukon solualueen valitseminen

Jos haluat valita alueen C2:D10 aktiivisessa laskentataulukossa, voit käyttää jotakin seuraavista esimerkeistä:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
				
ActiveSheet.Range("C2:D10").Select
				
ActiveSheet.Range("C2", "D10").Select
				

5: Saman työkirjan toisen laskentataulukon solualueen valitseminen

Jos haluat valita alueen D3:E11 saman työkirjan toisessa laskentataulukossa, voit käyttää jompaakumpaa seuraavista esimerkeistä:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
				
Voit myös aktivoida laskentataulukon ja valita alueen käyttämällä edellä olevaa tapaa 4:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
				

6: Eri työkirjan laskentataulukon solualueen valitseminen

Jos haluat valita alueen E4:F12 eri työkirjan laskentataulukossa, voit käyttää jompaakumpaa seuraavista esimerkeistä:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
				
Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
				
Voit myös aktivoida laskentataulukon ja valita alueen käyttämällä edellä olevaa tapaa 4:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
				

7: Aktiivisen laskentataulukon nimetyn alueen valitseminen

Jos haluat valita nimetyn alueen nimeltä Test aktiivisessa laskentataulukossa, voit käyttää jompaakumpaa seuraavista esimerkeistä:
Range("Test").Select
				
Application.Goto "Test"
				

8: Saman työkirjan toisen laskentataulukon nimetyn alueen valitseminen

Jos haluat valita nimetyn alueen nimeltä Test saman työkirjan toisessa laskentataulukossa, voit käyttää seuraavaa esimerkkiä:
Application.Goto Sheets("Sheet1").Range("Test")
				
Voit myös aktivoida laskentataulukon ja valita nimetyn alueen käyttämällä edellä olevaa tapaa 7:
Sheets("Sheet1").Activate
Range("Test").Select
				

9: Eri työkirjan laskentataulukon nimetyn alueen valitseminen

Jos haluat valita nimetyn alueen nimeltä Test eri työkirjan laskentataulukossa, voit käyttää seuraavaa esimerkkiä:
Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
				
Voit myös aktivoida laskentataulukon ja valita nimetyn alueen käyttämällä edellä olevaa tapaa 7:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
				

10: Solun valitseminen suhteessa aktiiviseen soluun

Jos haluat valita solun, joka on viisi riviä aktiivisen solun alapuolella ja neljä saraketta sen vasemmalla puolella, voit käyttää seuraavaa esimerkkiä:
ActiveCell.Offset(5, -4).Select
				
Jos haluat valita solun, joka on kaksi riviä aktiivisen solun yläpuolella ja kolme saraketta sen oikealla puolella, voit käyttää seuraavaa esimerkkiä:
ActiveCell.Offset(-2, 3).Select
				
Huomautus: jos yrität valita laskentataulukon ulkopuolella olevan solun, saatat saada virheilmoituksen. Edellä oleva ensimmäinen esimerkki palauttaa virheen, jos aktiivinen solu on sarakkeissa A?D, koska siirryttäessä neljä saraketta vasemmalle aktiivinen solu sijaitsee virheellisessä soluosoitteessa.

11: Solun valitseminen suhteessa toiseen (muuhun kuin aktiiviseen) soluun

Jos haluat valita solun, joka on viisi riviä solun C7 alapuolella ja neljä saraketta sen oikealla puolella, voit käyttää jompaakumpaa seuraavista esimerkeistä:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
				
ActiveSheet.Range("C7").Offset(5, 4).Select
				

12: Sellaisen solualueen valitseminen, joka on tietyn siirtymän päässä määritetystä alueesta

Jos haluat valita solualueen, jonka koko on sama kuin nimetyllä alueella nimeltä Test mutta joka on neljä riviä sen alapuolella ja kolme saraketta sen oikealla puolella, voit käyttää seuraavaa esimerkkiä:
ActiveSheet.Range("Test").Offset(4, 3).Select
				
Jos nimetty alue sijaitsee toisessa (muussa kuin aktiivisessa) laskentataulukossa, aktivoi kyseinen laskentataulukko ensin ja valitse alue sitten käyttämällä seuraavaa esimerkkiä:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
				

13: Määritetyn alueen valitseminen ja valinnan koon muuttaminen

Jos haluat valita nimetyn alueen nimeltä Database ja laajentaa valintaa sitten viisi riviä, voit käyttää seuraavaa esimerkkiä:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
				

14: Määritetyn alueen valitseminen, siirtymän tekeminen siihen ja sen koon muuttaminen

Jos haluat valita alueen, joka on neljä riviä nimetyn alueen nimeltä Database alapuolella ja kolme saraketta sen oikealla puolella, ja sisällyttää siihen sitten kaksi riviä ja yhden sarakkeen nimettyä aluetta enemmän, voit käyttää seuraavaa esimerkkiä:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
				

15: Kahden tai useamman määritetyn alueen yhdistelmän valitseminen

Jos haluat valita yhdistetyn alueen kahdesta nimetystä alueesta, joiden nimet ovat Test ja Sample, voit käyttää seuraavaa esimerkkiä:
Application.Union(Range("Test"), Range("Sample")).Select
				
Huomaa, että molempien alueiden on oltava samassa laskentataulukossa, jotta tämä esimerkki toimisi. Huomaa myös, että Union-mentelmä ei toimi laskentataulukoiden välillä. Esimerkiksi seuraava rivi toimii hyvin
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
mutta tämä rivi
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
				
palauttaa virhesanoman:
Luokan application menetelmä Union epäonnistui

16: Kahden tai useamman määritetyn alueen leikkauksen valitseminen

Jos haluat valita leikkauksen kahdesta nimetystä alueesta, joiden nimet ovat Test ja Sample, voit käyttää seuraavaa esimerkkiä:
Application.Intersect(Range("Test"), Range("Sample")).Select
				
Huomaa, että molempien alueiden on oltava samassa laskentataulukossa, jotta tämä esimerkki toimisi.



Tämän artikkelin esimerkit 17?21 viittaavat seuraaviin mallitietoihin. Kukin esimerkki ilmoittaa mallitietojen solualueen, joka valitaan.
   A1: Name    B1: Sales    C1: Quantity
   A2: a       B2: $10      C2: 5
   A3: b       B3:          C3: 10
   A4: c       B4: $10      C4: 5
   A5:         B5:          C5:
   A6: Total   B6: $20      C6: 20
				

17: Peräkkäisiä tietoja sisältävän sarakkeen viimeisen solun valitseminen

Jos haluat valita peräkkäisiä tietoja sisältävän sarakkeen viimeisen solun, käytä seuraavaa esimerkkiä:
ActiveSheet.Range("a1").End(xlDown).Select
				
Kun tätä koodia käytetään mallitaulukossa, solu A4 valitaan.

18: Peräkkäisiä tietoja sisältävän sarakkeen alapuolella olevan tyhjän solun valitseminen

Jos haluat peräkkäisten solujen alueen alapuolella olevan solun, käytä seuraavaa esimerkkiä:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
				
Kun tätä koodia käytetään mallitaulukossa, solu A5 valitaan.

19: Sarakkeen peräkkäisten solujen alueen valitseminen kokonaan

Jos haluat valita sarakkeen peräkkäiset solut, käytä jotakin seuraavista esimerkeistä:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
				
   -or-
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _
      End(xlDown).Address).Select
				
Kun tätä koodia käytetään mallitaulukossa, solut A1?A4 valitaan.

20: Sarakkeen peräkkäisten solujen alueen valitseminen kokonaan

Jos haluat valita alueen soluja, jotka eivät ole peräkkäisiä, käytä jotakin seuraavista esimerkeistä:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
				
   -or-
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _
   End(xlUp).Address).Select
				
Kun tätä koodia käytetään mallitaulukossa, solut A1?A6 valitaan.

21: Nelikulmaisen solualueen valitseminen

Jos haluat valita solun ympärillä olevan nelikulmaisen solualueen, käytä CurrentRegion-menetelmää. CurrentRegion-menetelmän valitsema alue on minkä tahansa tyhien rivien ja sarakkeiden yhdistelmän ympäröimä alue. Seuraavassa on esimerkki CurrentRegion-menetelmän käyttämisestä:
ActiveSheet.Range("a1").CurrentRegion.Select
				
Tämä koodi valitsee solut A1?C4. Muita saman solualueen valitsemisen esimerkkejä on seuraavassa:
ActiveSheet.Range("a1", _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
				
   -or-
				
ActiveSheet.Range("a1:" & _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
				
Joissakin tilanteissa saatat haluta valita solut A1?C6. Tässä esimerkissä CurrentRegion-menetelmä ei toimi, koska rivi 5 on tyhjä. Seuraavat esimerkit valitsevat kaikki solut:
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
				
    -or-
				
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
   ActiveSheet.Cells(lastRow, lastCol).Address).Select
				

22. Eri pituisten muiden kuin yhtenäisten sarakkeiden valitseminen

Jos haluat valita useita muita kuin yhtenäisiä sarakkeita, jotka eivät ole yhtä pitkiä, käytä seuraavaa mallitaulukkoa ja esimerkkimakroa:
   A1: 1  B1: 1  C1: 1  D1: 1
   A2: 2  B2: 2  C2: 2  D2: 2
   A3: 3  B3: 3  C3: 3  D3: 3
   A4:    B4: 4  C4: 4  D4: 4
   A5:    B5: 5  C5: 5  D5:
   A6:    B6:    C6: 6  D6:
				
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
				
Kun tätä koodia käytetään mallitaulukossa, solut A1:A3 ja C1:C6 valitaan.

HUOMAUTUKSIA ESIMERKEISTÄ

  • ActiveSheet-ominaisuus voidaan yleensä jättää pois, koska se oletetaan, jos erityistä laskentataulukkoa ei nimetä. Esimerkiksi koodin
    ActiveSheet.Range("D5").Select
    						
    sijaan voit käyttää koodia
    Range("D5").Select
    						
  • Myös ActiveWorkbook-ominaisuus voidaan yleensä jättää pois. Ellei tiettyä työkirjaa nimetä, aktiivinen työkirja oletetaan.
  • Kun käytät Application.Goto-menetelmää, sinun on sisällytettävä aina myös Sheets-objekti, jos haluat käyttää kahta Cells-menetelmää Range-menetelmän sisällä, kun määritetty alue on toisessa (muussa kuin aktiivisessa) laskentataulukossa. Esimerkki:
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
    					
  • Kysymysmerkkien sisällä olevien kohteiden (esimerkiksi nimetty alue "Test") sijaan voit myös käyttää muuttujaa, jonka arvo on tekstimerkkijono. Esimerkiksi koodin
    ActiveWorkbook.Sheets("Sheet1").Activate
    						
    sijaan voit käyttää koodia
    ActiveWorkbook.Sheets(myVar).Activate
    						
    jossa myVar-arvo on "Sheet1".

Suositukset


Saat lisätietoja tässä artikkelissa olevan mallikoodin käyttämisestä napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:
290140 Knowledge Base -artikkeleiden Office XP -ohjelmien mallikoodin suorittaminen (tämä artikkeli saattaa olla englanninkielinen)
Huomautus Tämä on niin sanottu nopeasti julkaistava (?fast publish?) artikkeli, joka on laadittu suoraan Microsoftin tukiorganisaatiossa. Tässä olevat tiedot toimitetaan sellaisenaan vastauksena esiin tulleisiin ongelmiin. Koska aineisto on tuotu saataville nopeasti, se saattaa sisältää painovirheitä ja tietoja saatetaan muokata milloin tahansa ilman erillistä ilmoitusta. Lue muut huomioon otettavat seikat käyttöehdoista.

Ominaisuudet

Artikkelin tunnus: 291308 - Viimeisin tarkistus: 8. tammikuuta 2014 - Versio: 1.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Hakusanat: 
kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308

Anna palautetta

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com