Oireet

Kun käytät Sijainti-ominaisuutta tai Sijainti.Pysty- tai vaakasuuntaisten sivunvaihtojen osoiteTta Microsoft Visual Basic for Applications -makrossa, näyttöön voi tulla seuraava virhesanoma:

Suorituksenaikainen virhe '9':Alaindeksi alueen ulkopuolella

Syy

Tämä ongelma voi ilmetä, jos seuraavat ehdot täyttyvät:

  • Aktiivinen solu on vaakasuuntaisen sivunvaihdon yläpuolella tai pystysuuntaisen sivunvaihdon vasemmalla puolella, johon HPageBreaks- tai VPageBreaks-indeksi viittaa.

  • Pysty- tai vaakasuuntainen sivunvaihtosijainti on näytössä näkyvän ikkunan oikealla puolella tai työkirjan näkyvän ikkunan alapuolella.

  • Microsoft Excelissä käytetään Visual Basic for Applications-makroa, joka vastaa seuraavaa koodia:

    Sub TestHorizontal()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.HPageBreaks.Count    MsgBox ActiveSheet.HPageBreaks(1).Location.Address    MsgBox ActiveSheet.HPageBreaks(2).Location.AddressEnd SubSub TestVertical()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.VPageBreaks.Count    MsgBox ActiveSheet.VPageBreaks(1).Location.Address    MsgBox ActiveSheet.VPageBreaks(2).Location.Address    MsgBox ActiveSheet.VPageBreaks(3).Location.AddressEnd Sub

Vaihtoehtoinen menetelmä

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmoitettua tai oletettua takuuta. Tähän sisältyvät muun muassa epäsuorat takuut soveltuvuudesta kaupankäynnin kohteeksi tai soveltuvuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmoinnin kielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi. Voit estää tämän ongelman lisäämällä koodin ja valitsemalla laskentataulukon viimeisen solun, ennen kuin koodi käyttää vaaka- tai pystysuuntaisten sivunvaihtojen Sijainti-ominaisuutta. Valitse esimerkiksi loppusolu seuraavalla koodilla, käytä Sijainti-ominaisuutta ja valitse sitten alkuperäinen aktiivinen solu uudelleen:

Sub CheckPageBreaks()    'Set object "currcell" equal to active cell.    Set currcell = ActiveCell    'Select the last cell on the worksheet that has data.    Range("IV65536").Select    'Include code with Location property here.    x = ActiveSheet.HPageBreaks(2).Location.Address    MsgBox x    'Example sets x equal to address of second horizontal page break.    'Then message box displays the address of the page break.    'Select original active cell.    currcell.SelectEnd Sub

Kun Sijainti-ominaisuus on laskettu, voit valita alkuperäisen aktiivisen solun uudelleen. Jos käytät koodia ensimmäisen ja viimeisen solun välillä vierittämiseen tai valitset viimeisen solun ja valitset heti uudelleen aloitussolun, virhe voi silti ilmetä. Näyttö on piirrettävä uudelleen ja Sijainti-ominaisuus on laskettava, jotta vaihtoehtoinen menetelmä olisi voimassa. Jos käytät yllä olevaa koodia

Application.ScreenUpdating = False

jos haluat estää näytön uudelleenpiirtämisen, ongelma ilmenee edelleen.

Tila

Microsoft on vahvistanut, että tämä on ongelma Microsoft-tuotteissa, jotka on lueteltu "Koskee seuraavia" -osiossa.

Lisätietoja

Jos käytät Määrä-menetelmää VPageBreaks- tai HPageBreaks-ominaisuuden kanssa, tuloksena voi olla nolla. Tämä tapahtuu Syy-osassa luetelluissa olosuhteissa. Jos sivunvaihto on näkyvissä, Määrä-menetelmä voi antaa oikean vastauksen. Pysty- tai vaakasuuntaisten sivunvaihtojen Määrä-menetelmä saattaa antaa odotetun tuloksen, jos sivunvaihto on lähellä työkirjaikkunan näkyvää osaa. Aiemmin annettua vaihtoehtoista menetelmää voidaan käyttää odotetun määrän laskemiseen.Sivunvaihdot, jotka ovat työkirjaikkunan oikealla puolella tai työkirjaikkunan alapuolella, voivat mahdollistaa Määrä-menetelmän toiminnan ja kyseisen sivunvaihdon sijainnin, jos etäisyys ikkunasta sivunvaihtoon on alle puolet sivunvaihtojen välisestä etäisyydestä.

Lisätietoja

Saat lisätietoja makron virheiden kiinnittämisestä napsauttamalla seuraavaa artikkelin numeroa, jolloin saat artikkelin näkyviin Microsoft Knowledge Base -tietokannassa:

213637 Makron virheiden käsitteleminen virheen yhteydessä -toiminnolla

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.