Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Symptomer

Når du bruker egenskapen Location eller Location.Address på siden loddrett eller vannrett sideskift i et Microsoft Visual Basic for Applications-makro, kan du få følgende feilmelding:

Kjøretidsfeil '9':
Senket skrift utenfor område

Årsak

Dette problemet kan oppstå hvis følgende betingelser er oppfylt:

  • Den aktive cellen er over det vannrette sideskiftet eller til venstre for det loddrette sideskiftet som er referert til i indeksen HPageBreaks eller VPageBreaks .

  • Loddrett eller vannrett sideskift sideplasseringen er av skjermen til høyre i vinduet vises eller under vinduet synlig i arbeidsboken.

  • Du kan bruke en Visual Basic for Applications-makro i Microsoft Excel som ligner på følgende kode:

    Sub TestHorizontal()
    ActiveSheet.Range("CZ1000").Value = 1
    MsgBox ActiveSheet.HPageBreaks.Count
    MsgBox ActiveSheet.HPageBreaks(1).Location.Address
    MsgBox ActiveSheet.HPageBreaks(2).Location.Address
    End Sub

    Sub 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.Address
    End Sub

Løsning

Microsoft bruker ment som eksempler, uten garanti, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle stilltiende garantier om salgbarhet eller anvendelighet for særskilte formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre, men de endrer ikke disse eksemplene for å lage forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke behov.
Hvis du vil unngå dette problemet, kan du legge til kode for å merke den siste cellen som er brukt i regnearket før koden bruker Location -egenskapen for vannrette eller loddrette sideskift. Hvis du for eksempel bruke følgende kode til å merke cellen slutten, bruke Location -egenskapen og velg den opprinnelige aktive cellen på nytt:

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.Select

End Sub


Når egenskapen Location er beregnet, kan du velge den opprinnelige aktive cellen på nytt. Hvis du bruker koder til å bla mellom første og siste cellen, eller merke den siste cellen og umiddelbart merke den første cellen på nytt, kan fremdeles feilen oppstå. Skjermen må tegne og Location -egenskapen skal beregnes for den midlertidige løsningen skal være effektiv. Hvis du bruker koden ovenfor med

Application.ScreenUpdating = False

Hvis du vil hindre at skjermoppdatering, inntreffer problemet stadig.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Hvis du vil ha mer informasjon

Hvis du bruker metoden for Antall med egenskapen VPageBreaks eller HPageBreaks , kan du få et resultat av null. Dette skjer under forholdene som er nevnt i avsnittet "Årsak". Hvis et sideskift vises, kan Antall metoden gir det riktige svaret. Antall metoden for loddrett eller vannrett sideskift kan gi det forventede resultatet hvis et sideskift er nær den synlige delen av arbeidsbokvinduet. Den midlertidige løsningen fikk tidligere kan brukes til å få tak i det forventede antallet.

Sideskift som er til høyre for arbeidsbokvinduet eller under arbeidsbokvinduet kan aktivere Count -metoden skal fungere, og at sideskiftet skal plasseres, hvis avstanden fra vinduet til sideskiftet er mindre enn en halv avstand mellom sideskift.


Referanser

Hvis du vil ha mer informasjon om hvordan du kan fange opp feil i en makro, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

213637 hvordan du bruker "On Error" til å håndtere feil i en makro

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×