Belirtiler

Konum özelliğini veya konumunu kullandığınızda. Microsoft Visual Basic for Applications makroında dikey veya yatay sayfa sonlarının adresi

Çalışma zamanı hatası ' 9 ': alt simge Aralık dışında

Neden

Aşağıdaki koşullar doğruysa bu sorun oluşabilir:

  • Etkin hücre, yatay sayfa sonunun üstünde veya hpagebreak veya vpagebreak diziniyle başvurulan dikey sayfa sonunun solunda yer alan bir.

  • Dikey veya yatay sayfa sonu konumu, görünür pencerenin sağındaki ekranın veya çalışma kitabının görünür penceresinin altında kapalıdır.

  • Microsoft Excel 'de aşağıdaki koda benzer bir Visual Basic for Applications makrosu kullanırsınız:

    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

Geçici Çözüm

Microsoft, yalnızca gösterim için programlama örnekleri sunar, açık veya ima edilen garanti vermez. Bu, satılabilirlik veya belirli bir amaca uygunluk dahil olmak üzere örtülü garantileri içerir. Bu makalede, gösterilen programlama dilini ve yordamları oluşturmak ve hataları ayıklamak için kullanılan araçları kullanmayı bildiğiniz varsayılmaktadır. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak bu örnekleri, belirli gereksinimlerinizi karşılayacak ek işlevler veya yordamlar oluşturmak üzere değiştirmeyecektir. Bu sorunu gidermek için, kod ekleyerek, kodun yatay veya dikey sayfa sonlarının Location özelliğini kullanmadan önce çalışma sayfasında kullanılan son hücreyi seçin. Örneğin, aşağıdaki kodu kullanarak son hücreyi seçin, Location özelliğini kullanın ve sonra da özgün etkin hücreyi yeniden seçin:

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

Location özelliği hesaplandıktan sonra, özgün etkin hücreyi seçebilirsiniz. İlk ve son hücre arasında ilerlemek için kod kullanıyorsanız veya son hücreyi seçip başlangıç hücresini hemen yeniden seçtiğinizde, hata yine olabilir. Geçici çözümün etkili olması için ekran yeniden Çizmeli ve Location özelliği hesaplanmalıdır. Yukarıdaki kodu

Application.ScreenUpdating = False

ekran yeniden çizmesini önleyecek şekilde sorun oluşmaya devam eder.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Ek Bilgi

Count yöntemini vpagebreak veya hpagebreak özelliğiyle birlikte kullanıyorsanız, sıfır sonucunu alabilirsiniz. Bu, "Neden" bölümünde listelenen koşullar altında olur. Sayfa sonu görünüyorsa, Count yöntemi doğru yanıt verebilir. Dikey veya yatay sayfa sonları için say yöntemi, sayfa sonu çalışma kitabı penceresinin görünür bir bölümüne yaklaşmışsa, beklenen sonucu verebilir. Daha önce verilen geçici çözüm, beklenen sayımı edinmek için kullanılabilir. Çalışma kitabı penceresinin sağ tarafındaki veya çalışma kitabı penceresinin altında yer alan sayfa sonları, say yönteminin çalışmasını ve sayfanın sayfa sonuna kadar uzaklıkta sayfa sonları arasındaki uzaklığın bir kereden az olur.

Başvurular

Makrodaki hataları yakalama hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

213637 Makrodaki hataları işlemek için "hata" kullanımı

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.