
Excel VBAで、複数のシートのセルの列幅を一度に変更する方法は??
Excel VBAに関する質問です。
ある統計表(のようなもの)から特定の数字を抜き出し、同じファイル内の別シートに反映させる作業を一部効率化できないかと試みています。
For~Nextの構文を使って、複数のシートを作成するところまではできたのですが、その後の列幅の調整がよくわからず困っています。
列の幅については下記のような感じかなと思っているのですが、
実行しても一つのシートにしか、結果がでず(全てのシートが
選択はされるのですが)他のシートの列幅が変わりません。。。
Sub 複数シートの選択()
WorkSheets.select
Columns("B:C").ColumnWidth = 15
Columns("E:H").ColumnWidth = 20
End Sub
この処理の前にシートの作成をするようにしているので、
全てのシートではなく、そのときに作成したシートのみにかかる
方法でも問題ないのですが、その方法だとうまくいくのでしょうか?
まだかなり勉強中の段階で、初歩的なことでしたら大変申しわけないのですが、上記で修正すべき点や参考になるサイトを教えていただければと思います。
For~Nextでやるのかも?と思うのですが、この構文が理解しきれておらず、自分でまったく思いつきません・・・
基本にも満たない内容で申し訳ありません。
情けない話なのですが、ご教授頂けると幸いです。
No.1ベストアンサー
- 回答日時:
これではどうでしょうか。
Sub 複数シートの選択()
For i = 1 To Worksheets.Count
With Worksheets(i)
.Select
Columns("B:C").ColumnWidth = 15
Columns("E:H").ColumnWidth = 20
End With
Next
End Sub
nknk80様
回答ありがとうございました。おかげさまでおっしゃるとおりにしてみたところうまく出来ました。処理の回数を現在のシートの数、としてやれば良いんですね。勉強になりました。
遅い時間にも関わらず、すばやいご回答くださったこと感謝します。
ありがとうございました!!!
No.2
- 回答日時:
実験の結果、確かに
Sheets.SelectまたはWorksheets.Selectの後に
Columns("B:C").ColumnsWidth=10としても全てのシートには適用されませんでしたが、
Columns("B:C").Select
Selection.ColumnsWidht=10
とすると全てのシートで列幅が適用されました。
前者では、複数シートが選択されていてもColumnsWidthはアクティブシートにのみ適用になりますが
後者は選択された範囲に対して処理するため全体へ適用されるのだと思います。
Masa2072様、ご回答ありがとうございました。検証までしていただいて、ご丁寧な対応ありがとうございます。
おっしゃるとおりにしてみたところ、確かに全てのシートにちゃんと列幅調整がかかりました。最初にシートを選択してやれば出来るのかなと思い、Masa2072様のいうような方法は思いつかなかったです。
出来るだけ自分でもこの件については調べたつもりだったのですが、
お手上げ状態だったので回答頂き助かりました。
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel の複数シートの列幅を同じにするには?
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
複数シートの列、幅の一括変更方法
経営情報システム
-
-
4
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
5
VBAで文字列を数値に変換したい
Excel(エクセル)
-
6
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
7
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
8
VBAでダブルコーテーション入りの数式をセルにセットしたい
Visual Basic(VBA)
-
9
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
13
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
14
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
15
Excel VBA の ChangeFileAccess
Visual Basic(VBA)
-
16
エクセルで勝手に「折り返して全体表示」をされてしまいます!
Excel(エクセル)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
19
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
20
VBAで、離れた複数の列に対して処理を施すには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
【ExcelVBA】マクロの入ったシ...
-
エクセルで複数のシートに画像...
-
シート名を変更すると起動する...
-
Excel でブック全体を検索するには
-
Excelでマクロ設定したが反映さ...
-
EXCELの「シートの見出し」のフ...
-
エクセルのシー名を二段表示に...
-
ハイパーリンクでジャンプした...
-
DATE関数 4月31日などのあ...
-
特定のシートのみ再計算させな...
-
エクセルでシート1をページごと...
-
エクセル2013 検索→シート...
-
エクセルのシート連番の振り直し
-
エクセルでシート名のCSV形式フ...
-
コンボボックス?で選んだシー...
-
ワークシートそのものの色を変...
-
エクセルシートの下の名前欄が...
-
エクセル、条件をつけてのデー...
-
エクセルでブック内の倍率がバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
ハイパーリンクでジャンプした...
-
【ExcelVBA】マクロの入ったシ...
-
エクセルで複数のシートに画像...
-
確定申告用の医療費集計フォー...
-
エクセルのシー名を二段表示に...
-
EXCELの図形(テキストボックス)...
-
エクセル、特定のシートにパス...
-
Wordで差し込み印刷時に表示す...
-
ワークシートそのものの色を変...
-
Accessのテーブルを既存のExcel...
-
EXCELで存在しないシート...
-
エクセルの複数シートでのリン...
-
エクセルのファイルサイズが急...
-
エクセルの2つのシートを並び...
-
エクセルのシート連番の振り直し
-
エクセルで、シートの名前を変...
-
エクセルでリンク貼り付けした...
おすすめ情報