• ベストアンサー

EXCELですべてのワークシートの列幅をそろえたい

既に値が入っている帳票ですがすべて同じ様式の場合、各シートの微妙な幅の違いを直しすべて同じ列幅にしたいのですが 値が入っているときすべてのシートの列幅をいっぺんにそろえる事できますか

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VBAになるが 標準モジュールに Sub test01() For Each sh In Worksheets  'すべてのシートの 'MsgBox sh.Name sh.Columns("A:XFD").ColumnWidth = 2 'COLUMNS のsに注意 Next End Sub と入れて実行(F5キー)。 「すべての列幅」といっているが、言葉の綾と思うので、Columns("A:XFD").の左端列XFD部分は適当に十分な範囲の列記号に変更するとよい。 >値が入っているときすべ・・ 少し手を加える必要があるが、ここでは略。目視で左端列の最代を決めて、 Columns("A:XFD")のXFDを設定すにはどうか。 ーー 各シートのデータのある左端列の最大列番号数は、見る行を見積もれるなら(下記例では第2行目で判定した)、上記コードの多少の改変で簡単に求まる。 Sub test02() cmm = 1 For Each sh In Worksheets MsgBox sh.Range("xfd2").End(xlToLeft).Column cm = sh.Range("xfd2").End(xlToLeft).Column If cm > cmm Then cmm = cm End If Next MsgBox cmm End Sub

sekchieko
質問者

お礼

ありがとうございます。VBAはまだ試したことがありませんでした。 試してみます。

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>値が入っているときすべてのシートの列幅をいっぺんにそろえる事できますか できると思います。 当方はExcel 2013を使用していますがワンタッチですべてのシートを同じ様式にすることは出ませんが雛型のシートを全選択してコピーを実行し、他のシートへ形式を選択して貼り付けで「書式設定」を選べば同じ様式になりました。 貼り付けはシートを1つずつ実行しないといけないようです。 元のブックをバックアップしてから実行してください。(失敗したときにバックアップから復元が必要になります)

sekchieko
質問者

お礼

回答ありがとうございます。そうですよね 書式の貼り付けはしてみましたが、色付けしたところも一緒に張り付いてしまって困ってしまいました。なんとか枠だけ貼り付けれるならいいのですか・・・ 

関連するQ&A