Gejala

Saat Anda menggunakan lokasi properti ataulokasi. alamat Hentian halaman vertikal atau horizontal dalam makro Microsoft Visual Basic for Applications, Anda mungkin menerima pesan kesalahan berikut:

Kesalahan run-time ' 9 ': subskrip di luar rentang

Penyebab

Masalah ini dapat terjadi jika kondisi berikut ini benar:

  • Sel aktif berada di atas Hentian halaman horizontal atau di sebelah kiri Hentian halaman vertikal yang dirujuk oleh indeks Hpagebreaks atau vpagebreaks .

  • Lokasi Hentian halaman vertikal atau horizontal nonaktif di sebelah kanan jendela yang terlihat atau di bawah jendela yang terlihat dari buku kerja.

  • Anda menggunakan Visual Basic for Applications makro dalam Microsoft Excel yang mirip dengan kode berikut:

    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

Penyelesaian Masalah

Microsoft memberikan contoh pemrograman hanya untuk tujuan ilustrasi, tanpa jaminan tertulis maupun tersirat. Ini termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk tujuan tertentu. Artikel ini menganggap bahwa Anda sudah terbiasa dengan bahasa pemrogaman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan memperbaiki prosedur. Dukungan Microsoft profesional dapat membantu menjelaskan fungsionalitas dari prosedur tertentu, namun hal tersebut tidak akan memodifikasi contoh ini untuk menyediakan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi kebutuhan tertentu. Untuk mencegah masalah ini, tambahkan kode untuk memilih sel terakhir yang digunakan dalam lembar kerja sebelum kode menggunakan properti Lokasi dari Hentian halaman horizontal atau vertikal. Misalnya, gunakan kode berikut untuk memilih sel akhir, gunakan properti Lokasi , lalu pilih ulang sel aktif asli:

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

Setelah properti Lokasi dihitung, Anda mungkin lagi memilih sel aktif asli. Jika Anda menggunakan kode untuk menggulir di antara sel pertama dan terakhir, atau memilih sel terakhir dan segera memilih ulang sel awal, kesalahan masih mungkin terjadi. Layar harus menggambar ulang dan properti Lokasi terhitung untuk solusi yang efektif. Jika Anda menggunakan kode di atas dengan

Application.ScreenUpdating = False

untuk mencegah menggambar ulang layar, masalah masih terjadi.

Status

Microsoft telah melakukan konfirmasi bahwa masalah ini timbul pada produk Microsoft yang tertera pada bagian "Berlaku untuk".

Informasi Selengkapnya

Jika Anda menggunakan metode Count dengan properti vpagebreaks atau hpagebreaks , Anda mungkin menerima hasil dari nol. Hal ini terjadi di bawah kondisi yang tercantum di bagian "penyebab". Jika Hentian halaman terlihat, metode hitung mungkin memberikan jawaban yang benar. Metode hitung untuk Hentian halaman vertikal atau horizontal mungkin memberikan hasil yang diharapkan jika Hentian halaman berada di dekat bagian yang terlihat dari jendela buku kerja. Solusi yang diberikan sebelumnya bisa digunakan untuk mendapatkan jumlah yang diharapkan. Hentian halaman yang berada di sebelah kanan jendela buku kerja atau di bawah jendela buku kerja mungkin memungkinkan metode hitung bekerja dan Hentian halaman berada, jika jarak dari jendela ke Hentian halaman kurang dari satu setengah jarak antara Hentian halaman.

Referensi

Untuk informasi selengkapnya tentang cara menjebak kesalahan dalam makro, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

213637 Cara menggunakan "on error" untuk menangani kesalahan dalam makro

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.