[[20060922091404]] 『複数シートの特定列の非表示・表示』(kana) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数シートの特定列の非表示・表示』(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.