| 
    
     |  | ▼ponpon さん: >▼maru さん:
 >>初歩的な質問で恥ずかしく思いますが、どなたかご教授頂ければ幸いです。
 >>宜しくお願いします。
 >>
 >>実行時に3ページ目で「実行時エラー'9' インデックスが有効範囲にありません。」の
 >>エラーが発生します。実際の範囲は8ページです。
 >
 >これかな?
 >
 >2003でも発生しました。
 >ht tp://support.microsoft.com/kb/210663/ja
 >
 >回避策
 >コードで垂直方向または水平方向改ページの Location プロパティを使用する前に、ワークシートの最後のセルを選択するコードを追加します。
 >例えば、次のコードを使用して、最後のセルを選択し、Location プロパティを使用してから、最初のアクティブ セルを再度選択します。
 >
 >
 >いろいろ試しましたが、全部↑のようになりました。
 >
 >Sub test2()
 >  Dim my_Hpb As Variant
 >  Dim my_Row As Long
 >  Dim i As Long
 >
 >  i = 1
 >  With ActiveSheet
 >    .DisplayAutomaticPageBreaks = True
 >    For Each my_Hpb In .HPageBreaks
 >      If my_Hpb.Extent = xlPageBreakFull Then
 >       my_Row = my_Hpb.Location.Row
 >       .Range("A" & my_Row) = i
 >       i = i + 1
 >      End If
 >    Next
 >  End With
 >End Sub
 >
 >
 >Sub test3()
 >
 >  Dim my_Hpb As Long
 >  Dim my_Row As Long
 >  Dim i As Long
 >
 >  With ActiveSheet
 >    .DisplayAutomaticPageBreaks = True
 >    my_Hpb = .HPageBreaks.Count
 >
 >    For i = 1 To my_Hpb
 >      my_Row = ActiveSheet.HPageBreaks(i).Location.Row
 >      .Range("A" & my_Row) = i
 >    Next
 >  End With
 >End Sub
 >
 >Sub test()
 >
 >  Dim my_Hpb As Integer
 >  Dim my_Row As Integer
 >  Dim i As Integer
 >
 >  my_Hpb = ActiveSheet.HPageBreaks.Count
 >
 >  For i = 1 To my_Hpb - 1
 >    my_Row = ActiveSheet.HPageBreaks(i).Location.Row
 >    ActiveSheet.Range("A" & my_Row) = 1
 >  Next
 >
 >End Sub
 >Sub test4()
 >  Dim hpbcnt As Long
 >  Dim 改ページ行 As Long
 >  Dim 改ページ列 As Long
 >  Dim 改ページ行列 As Variant
 >
 >  With ActiveSheet
 >  hpbcnt = .HPageBreaks.Count
 >  For i = 1 To hpbcnt
 >    改ページ行 = ActiveSheet.HPageBreaks(i).Location.Row
 >    改ページ列 = ActiveSheet.HPageBreaks(i).Location.Column
 >    改ページ行列 = ActiveSheet.HPageBreaks(i).Location.Address
 >    Range(改ページ行列).Interior.ColorIndex = 3
 >  Next
 >  End With
 >End Sub
 
 有り難うございました。参考にさせていただきます。
 また、機会がありましたら宜しくお願いします。
 
 |  |