プロが教えるわが家の防犯対策術!

今、提出用の資料作成にて、
従業員の稼動実績を記載した表部分を隠して
A3にかたち良く収まるように印刷できるよう列の調整をしようと
マクロの記録を行い、下記のようなプログラムを得ました。
ところが、実行すると("U:AD")の部分は隠れているのですが、
それ以外は全て、列の幅が"20"になってしまいます。
一体どのようにすれば列の幅を記載通りに調整できるのでしょうか?
お教え下さい。宜しくお願いします。

* * * * * * * * * * * * * * * * *

Sub 稼動実績を隠す()
'
' 稼動実績を隠す Macro
' マクロ記録日 : 2007/9/27 ユーザー名 : ########
'

'
Columns("A:M").Select
Range("A2").Activate
Selection.ColumnWidth = 8
Columns("N:O").Select
Selection.ColumnWidth = 16
Columns("P:P").Select
Selection.ColumnWidth = 20
Columns("R:T").Select
Selection.ColumnWidth = 20
Columns("U:AD").Select
Selection.ColumnWidth = 0
Columns("AE:AF").Select
Selection.ColumnWidth = 20
Columns("AG:AG").Select
Selection.ColumnWidth = 8
Columns("AH:AH").Select
Selection.ColumnWidth = 54
Columns("AI:AP").Select
Selection.ColumnWidth = 20
Columns("AQ:AQ").Select
Selection.ColumnWidth = 8
Columns("AR:AS").Select
Selection.ColumnWidth = 20
Range("A2").Select
End Sub

A 回答 (3件)

列幅を数値で指定したい場合は、複数列なら


Columns("A:B").ColumnWidth = 8
また1列なら
Columns(1).ColumnWidth = 8
Range("A1").EntireColumn.ColumnWidth = 8
のように書けばよいです。わざわざセルをSelectする必要はありません

また列幅を自動調整するなら
Columns("A:B").Autotfit
で入力文字に合わせて自動調整します
    • good
    • 0
この回答へのお礼

どうも、何度もご回答頂きありがとうございました。
最初のマクロでは、どぉ修正しても出来なかったのですが、
#3.でお書き頂いた方法で、下記のように直すと出来ました。
つねにセレクトしていたのがマズかったのですかね;;
とにかく無事出来るようになりました。
本当にありがとうございました。

* * * * * * * * * * * * * * * *

'
Columns("A:M").ColumnWidth = 8
Columns("N:O").ColumnWidth = 16
Columns("P:P").ColumnWidth = 20
Columns("R:T").ColumnWidth = 20
Columns("U:AD").ColumnWidth = 0
Columns("AE:AF").ColumnWidth = 20
Columns("AG:AG").ColumnWidth = 8
Columns("AH:AH").ColumnWidth = 54
Columns("AI:AP").ColumnWidth = 20
Columns("AQ:AQ").ColumnWidth = 8
Columns("AR:AS").ColumnWidth = 20
Range("A2").Select

End Sub

お礼日時:2007/09/27 13:06

#1です。



>これはA列だけが対象になってますね。

A-Mが対象になってました。
失礼しました。
    • good
    • 0

>Columns("A:M").Select


>Range("A2").Activate
>Selection.ColumnWidth = 8

これはA列だけが対象になってますね。
他の部分には問題ないように思われます。
↓の現象はおきませんでした。
>それ以外は全て、列の幅が"20"になってしまいます。

この回答への補足

早速の回答ありがとうございます。
質問のマクロは、記録通りのなのですが、
それでは駄目って事なのでしょうか?
下記の



Columns("A:M").Select
Range("A2").Activate     ←この部分?
Selection.ColumnWidth = 8
Columns("N:O").Select



を削除すれば出来ると言う事でよかったですか?

補足日時:2007/09/27 11:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!