|
ichinose さんのMk_sample_dataを拝借してテストしてみました。
列数をもう少し大きくとってBB列までのsampleに。
Win2000/SP3 Excel2000 の環境ではうまく動作しました。
マクロ中にもコメントしてますが、
改ページプレビュー状態で
改ページ設定>改ページ削除>改ページ再設定 と実施すると動作しました。
なぜなのか不明です・・・
Option Explicit
Sub Mk_sample_data()
Dim rng As Range
With ActiveSheet
With .Range("a1:R1")
.Value = Array("項目1", "項目2", "項目3", "項目4", "項目5", "項目6", "項目7", _
"項目8", "項目9", "項目10", "項目11", "項目12", "項目13", "項目14", "項目15" _
, "項目16", "項目17", "項目18")
For Each rng In .Cells
With rng.EntireColumn
.ColumnWidth = .ColumnWidth + 3 * .Column
End With
Next
End With
With .Range("a2:BB2500") 'BB列までに変更
.Formula = "=int(rand()*10000)+1"
.Value = .Value
End With
'With .PageSetup 'PageSetupは、HB_testで実行
'.Zoom = False
'.FitToPagesWide = 1
'.FitToPagesTall = False
'End With
.Cells.Font.ColorIndex = 2 '文字色白に変更
.Columns("A").Font.ColorIndex = 1 '一列目を黒 見やすいように
.Columns("BB").Font.ColorIndex = 1 '最終列を黒 見やすいように
End With
Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select
End Sub
Sub HB_test()
Dim i As Integer
Dim myR As Long
Application.ScreenUpdating = False
ActiveWindow.View = xlPageBreakPreview
With ActiveSheet
.PageSetup.Zoom = False
.PageSetup.FitToPagesWide = 1
.PageSetup.FitToPagesTall = False
'一度リセットすると上手くいく。なぜ??
'リセットしないとVは合うが、Hがずれることがある
'(原因が・・わかりません><)
.ResetAllPageBreaks
.PageSetup.FitToPagesWide = 1
.PageSetup.FitToPagesTall = False
For i = 1 To .HPageBreaks.Count
myR = .HPageBreaks(i).Location.Row
.Rows(myR).Font.ColorIndex = 1
Next i
End With
ActiveWindow.View = xlNormalView
Application.ScreenUpdating = True
End Sub
|
|