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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
ロボットの住む世界で流行ってる罰ゲームとは?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Excel の複数シートの列幅を同じにするには?
Excel(エクセル)
-
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
【VBA】複数のシートの指定した列を非表示・表示をさせたい
Excel(エクセル)
-
-
4
複数シートの列、幅の一括変更方法
経営情報システム
-
5
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
6
エクセルで、ヘッダーに特定セル内容を指定して印刷したい
Excel(エクセル)
-
7
作ったマクロを複数のシートで実行できるようにしたい。
Excel(エクセル)
-
8
VBマクロ 色の付いたセルを含む行をコピーしたい。
Visual Basic(VBA)
-
9
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
10
エクセルで複数のシートに罫線を引くマクロを教えてください。
Excel(エクセル)
-
11
エクセルVBAのIF文の否定の複数条件
Excel(エクセル)
-
12
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
13
Excel VBA について(列幅)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
特定のシートのみ再計算させな...
-
Wordで差し込み印刷時に表示す...
-
エクセルのシート連番の振り直し
-
ハイパーリンクでジャンプした...
-
エクセルでブック内の倍率がバ...
-
Accessのテーブルを既存のExcel...
-
エクセルで複数のシートに画像...
-
ワークシートそのものの色を変...
-
【ExcelVBA】マクロの入ったシ...
-
Excel 全シート上のボタンを削...
-
エクセル、特定のシートにパス...
-
EXCELの「シートの見出し」のフ...
-
CommandBars("Workbooks tabs")...
-
excelで全シートに同じヘッダー...
-
ワークシートの追加をエクセル...
-
エクセルマクロでシート名を条...
-
エクセルのシー名を二段表示に...
-
エクセルで、特定のシートを印...
-
エクセルで目次に自動でページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
ハイパーリンクでジャンプした...
-
エクセルでブック内の倍率がバ...
-
エクセルで複数のシートに画像...
-
特定のシートのみ再計算させな...
-
【ExcelVBA】マクロの入ったシ...
-
EXCELの図形(テキストボックス)...
-
エクセルのシート連番の振り直し
-
ワークシートそのものの色を変...
-
エクセルの2つのシートを並び...
-
エクセルのシー名を二段表示に...
-
エクセル、特定のシートにパス...
-
Accessのテーブルを既存のExcel...
-
Wordで差し込み印刷時に表示す...
-
EXCELで存在しないシート...
-
自分だけの辞書(データベース...
-
accessへエクセルの複数のシー...
-
Excelでマクロ設定したが反映さ...
-
エクセルの複数シートでのリン...
-
エクセル2003で、複数のシート...
おすすめ情報