|
▼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
有り難うございました。参考にさせていただきます。
また、機会がありましたら宜しくお願いします。
|
|