|
▼akko さん:
こんばんは。
>集計かけて、オートフィルタをつけて、
>列を一部隠して集計表を作ってます。
これは、はじめて聞きました。
>
>ichinoseさんの言われるように新規のブックで
>値だけ貼り付けたり集計を解除したり列を全て表示したりして
>試してみたところマクロ自体は動きました。
>が、列幅を初期設定から自動調整もしくは任意の幅に設定した場合に
>横に広がる現象が出ました。(列幅:78.88)
>
>列幅が全て同じ幅の時はこの現象は起こらず、
>列によって幅が異なる場合は起きる事がわかりました。
この記述で私が想像するシートとは、
新規ブックの標準モジュールに
'============================================================
Sub Mk_sample_data()
Dim rng As Range
With ActiveSheet
With .Range("a1:e1")
.Value = Array("項目1", "項目2", "項目3", "項目4", "項目5")
For Each rng In .Cells
With rng.EntireColumn
.ColumnWidth = .ColumnWidth + 3 * .Column
End With
Next
End With
With .Range("a2:e2500")
.Formula = "=int(rand()*10000)+1"
.Value = .Value
End With
With .PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
End With
End Sub
'===========================================================
Sub test()
Dim hhpgnum As Long
Dim hhbk As Variant
Dim idx As Long
With ActiveSheet
.PageSetup.PrintArea = .UsedRange.Address
End With
hhpgnum = ExecuteExcel4Macro("COLUMNS(GET.DOCUMENT(64))")
For idx = 1 To hhpgnum
hhbk = ExecuteExcel4Macro("INDEX(GET.DOCUMENT(64),1," & idx & ")")
MsgBox hhbk & "==== " & IIf(Rows(hhbk).PageBreak = xlPageBreakAutomatic, "自動", "手動")
Next
End Sub
上記の Mk_sample_dataを実行してみて下さい。
A列〜E列の2500行までにデータが設定されます(1行目は、見出し)
A〜E列の列幅を変えています。
とこんなシートをイメージします。
こんなシートに対して、testを実行しても列幅は変更しません。
ということは、akko さんが想定しているシートとは違うということですね?
列幅が変わると言う現象が再現できる手順書を気述してください。
(これは、誰が作成しても現象が再現できるシートの作成手順です)。
1.Excelを起動します。
から、始まった事細かな記述が必要なんです。
もしくは、問題シートを作成するコードの提示などです。
|
|