[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数シートの特定列の非表示・表示』(kana)
シートが30個あります。名前は01から30まで順になっています。 印刷する際に、各シートのGとHの列を一気に非表示にしたいです。 また逆に、入力する時には非表示にしたGとHの列が必要なので 一気に表示させたいです。 教えてください。宜しくお願いします。
質問内容は違うのですが、丁度同じ操作で解決出来そうなので・・・。 [[20060922093902]]『別シートで同じ数式』(わかばマーク) 作業グループにすると、一度の操作でグループ内のシートに 一気に同じ操作がなされます。
Ctrlを押しながら選択か、シートが続いているなら Shiftを押して、最初と最後のページを選択して下さい。
このあたりも参考になるかも。 [[20060719185656]]『同一ファイル内、複数シートに同じ処理』(やすえ) [[20060908173215]]『グループ化の段階的対応について』(ぴらりん)
(HANA)
すみません。 シートをすべて選択して、表示・非表示というのはわかるのですが、 これをマクロとかで簡単にできるようにはなりませんか? (kana)
マクロの記録で出来ませんか。
(川野鮎太郎)
自分で一から作ることはできないので、ボタンを作って シートを全部選択して、非表示にして登録してみたのですが 最初の01のシートだけが非表示になって、02以降は表示されたままでした。 どうしたらいいですか? (kana)
手順は上のリンク先 『同一ファイル内、複数シートに同じ処理』(やすえ) と同じ方法をとりましたか?
マクロの記録で出来ると思いますので、どこかで操作が違う気がします。 記録した結果はどの様なコードになりましたか?
(HANA)
こうなりました。 Sub ボタン1_Click() ' ' ボタン1_Click Macro ' マクロ記録日 : 2006/9/22 ユーザー名 : user '
' Sheets(Array ("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", _ "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25" )).Select Sheets("01").Activate Sheets(Array("26", "27", "28", "29", "30")).Select Replace:=False Columns("G:H").Select Selection.EntireColumn.Hidden = True Range("C2").Select Sheets("01").Select End Sub
コードってこれのことでよかったですか?よろしくお願いします。 (kana)
確かに記録では出来ても、記録されたコードからの実行ではアクティブなシートしか出来ませんね。 Sub 非表示() Dim sh As Sheets Dim me_sh As Worksheet Set sh = Sheets(Array("Sheet1", "Sheet2", "Sheet3")) For Each me_sh In sh me_sh.Columns("G:H").EntireColumn.Hidden = True Next me_sh Set sh = Nothing End Sub Sub 表示() Dim sh As Sheets Dim me_sh As Worksheet Set sh = Sheets(Array("Sheet1", "Sheet2", "Sheet3")) For Each me_sh In sh me_sh.Columns("G:H").EntireColumn.Hidden = False Next me_sh Set sh = Nothing End Sub
(川野鮎太郎)
確かに出来ないですね。
どうしても記録でやるなら シートを選んで非表示 次のシートを選んで非表示・・・ と、最後のシートまで一度記録すれば 実行できるようですが・・・・。
(HANA)
HANAさん!川野鮎太郎さん!ありがとうございました。 できました!! お願いがあるのですが、このマクロの意味を一行ずつ教えてもらえませんか? いろいろ教えていただいて、さらにこんなお願いまでしてすみません! なんとなく雰囲気は分かるのですが。しっかり理解したいのでお願いします。
Sub 非表示() Dim sh As Sheets 'arrayでグループ化されたシートの変数を定義 Dim me_sh As Worksheet '個々のシートの変数を定義 Set sh = Sheets(Array("Sheet1", "Sheet2", "Sheet3")) 'グループ化したシートを変数に代入 For Each me_sh In sh 'グループ化したシートを個々にループ処理 me_sh.Columns("G:H").EntireColumn.Hidden = True 'ループしているシートのG,H列を非表示 Next me_sh Set sh = Nothing '定義したシートを解放 って感じかな・・・♪〜〜( ̄ε ̄;) End Sub
(kana)
コメントを追加しました。
(川野鮎太郎) 詳しくは、各々のプロパンティ、関数のヘルプを見てください。
週末のお疲れモードだったので、シモ系でオヤジってみますた・・・。( ̄ー ̄;Aアセアセ・・・
(川野鮎太郎)
川野鮎太郎さんありとうございます(*^ー^*) ぷ、ぷ、プロパティ、関数のヘルプ見ながらがんばります! ゆっくり休んで疲れとってくださいね。 (kana)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.