Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Simptomi

Kad izmantojat atrašanās vietas rekvizītu vai atrašanās vietu. vertikālu vai horizontālu lappušu pārtraukumu adrese Microsoft Visual Basic for Applications makro, iespējams, tiek parādīts šāds kļūdas ziņojums:

Izpildlaika kļūda "9": apakšraksts no diapazona

Cēlonis

Šī problēma var rasties, ja ir spēkā šādi nosacījumi:

  • Aktīvā šūna atrodas virs horizontālā lappuses pārtraukuma vai pa kreisi no vertikālā lappuses pārtraukuma, uz kuru atsaucas HPageBreaks vai VPageBreaks indekss.

  • Vertikālā vai horizontālā lappuses pārtraukuma vieta ir ārpus ekrāna pa labi no redzamā loga vai zem darbgrāmatas redzamā loga.

  • Programmā Microsoft Excel varat izmantot Visual Basic for Applications makro, kas līdzīgs šim kodam:

    Sub TestHorizontal()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.HPageBreaks.Count    MsgBox ActiveSheet.HPageBreaks(1).Location.Address    MsgBox ActiveSheet.HPageBreaks(2).Location.AddressEnd 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.AddressEnd Sub

Risinājums

Microsoft nodrošina programmēšanas piemērus tikai ilustrācijai, bez izteiktas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešajām garantijām par piemērotību lietošanai vai atbilstību noteiktam nolūkam. Šajā rakstā ir pieņemts, ka esat iepazinies ar programmēšanas valodu, kas tiek parādīta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot noteiktas procedūras funkcionalitāti, taču tie nemainīs šos piemērus, lai nodrošinātu papildu funkcionalitāti vai izveidotu procedūras, kas atbilst jūsu konkrētajām prasībām. Lai novērstu šo problēmu, pievienojiet kodu, lai atlasītu pēdējo darblapā izmantoto šūnu, pirms kods izmanto horizontālo vai vertikālo lappušu pārtraukumu atrašanās vietu . Piemēram, izmantojiet šādu kodu, lai atlasītu gala šūnu, izmantojiet rekvizītu atrašanās vieta un pēc tam vēlreiz atlasiet oriģinālo aktīvo šūnu:

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

Pēc atrašanās vietas rekvizīta aprēķināšanas varat atkārtoti atlasīt oriģinālo aktīvo šūnu. Ja izmantojat kodu, lai ritinātu starp pirmo un pēdējo šūnu, vai atlasiet pēdējo šūnu un pēc tam vēlreiz atlasiet sākuma šūnu, iespējams, kļūda joprojām pastāv. Lai risinājums būtu spēkā, ir jāmaina ekrāns, un rekvizītam Novietojums jābūt aprēķinātam. Ja izmantojat iepriekšminēto kodu ar

Application.ScreenUpdating = False

lai novērstu ekrāna atkārtotu zīmēšanu, problēma joprojām pastāv.

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Papildinformācija

Ja izmantojat funkciju Count ar rekvizītu VPageBreaks vai HPageBreaks , var tikt parādīts nulles rezultāts. Tas notiek sadaļā "iemesls" norādītajos nosacījumos. Ja lappuses pārtraukums ir redzams, funkcija Count var piešķirt pareizo atbildi. Ja lappuses pārtraukums atrodas tuvu darbgrāmatas loga redzamajai daļai, Sagaidāmais rezultāts var tikt parādīts kā vertikāls vai horizontālais lappuses pārtraukumus. Iepriekš norādīto risinājumu var izmantot, lai iegūtu paredzamo skaitu. Lappušu pārtraukumi, kas atrodas pa labi no darbgrāmatas loga vai zem darbgrāmatas loga, var iespējot skaitīšanas metodi darbam un ievietot lappuses pārtraukumu, ja attālums no loga līdz lappuses pārtraukumam ir mazāks par vienu pusi starp lappušu pārtraukumiem.

Atsauces

Lai iegūtu papildinformāciju par to, kā programmā makro veikt slazdošanas kļūdas, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

213637 Kā izmantot kļūdas ziņojumu, lai apstrādātu kļūdas makro

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×