[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数のシートで非表示マクロを使いたい』(yingli20)
1つのシートで非表示にするマクロがあります。
Sub 送り状非表示マクロ()
Dim 行番号 As Long
'行を隠す For 行番号 = 13 To 43 If Cells(行番号, 6).Value = "" Then Cells(行番号, 1).EntireRow.Hidden = True End If Next 行番号 End Sub
これを同じbook内の複数シートで同時に使えるようにしたいです。
お願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
マクロ実行するタイミングで、処理対象のシートは、その時点での ActiveSheet と考えていいのですか? また、すべてのシートが対象ですか? それとも、この処理ができるシートは、これとこれとこれ といったように限定されていますか?
(β) 2017/05/05(金) 12:29
追加質問です。
「同時に」という意味ですが、 1回の実行で、複数のシートに対して一度に処理してしまうということですか? それとも、あくまで1回の実行では、1つのシートに対してのみ処理するのですか?
( β) 2017/05/05(金) 12:33
>マクロ実行するタイミングで、処理対象のシートは、その時点での ActiveSheet と考えていいのですか? 処理対象のシートは、その時点での ActiveSheetですが、1つのBookに4つのシートが入っており、この中の 工場、工場 (控)のシートにのみマクロをかけたいです。
>そのマクロはどのモジュールに書かれていますか?
標準モジュールに置いています。
>「同時に」という意味ですが、
1回の実行で、複数のシートに対して一度に処理してしまうということですか?
1回の実行で工場、工場 (控)のシートにマクロをかけたいです。
よろしくお願いします。
(yingli20) 2017/05/05(金) 13:11
要するに、複数のシートに対して繰り返し処理をしたいということですか。 次のようなコードを参考に作ってみてください。
Sub test() Dim s As Variant Dim ws As Worksheet
For Each s In Array("Sheet1", "Sheet2") Set ws = Worksheets(s) ws.Range("A1").Value = 1 Next End Sub
(γ) 2017/05/05(金) 13:47
すいません、全くどう参考にしていいか分かりません。
詳しく教えていただきたいです!
よろしくお願いします!
(yingli20) 2017/05/05(金) 14:06
また、ワークシート.セル範囲というワークシートを指定したセルの書き方は理解していますか?
Worksheets("Sheet1").Range("A1").Value = 1
といった書き方です。
つまり、オブジェクト、プロパティ、メソッドといった用語の理解は大丈夫ですね?
(γ) 2017/05/05(金) 14:18
Sub test() Dim 行番号 As Long Dim s As Variant Dim ws As Worksheet
For Each s In Array("工場", "工場 (控)") Set ws = Worksheets(s) '行を隠す For 行番号 = 13 To 43 ' 固定なのかどうか不明です。 If ws.Cells(行番号, 6).Value = "" Then 'ws.Cells(行番号, 1).EntireRow.Hidden = True ws.Rows(行番号).Hidden = True 'こうするほうが普通でしょうか。 End If Next 行番号 Next End Sub
(γ) 2017/05/05(金) 14:22
マクロの記録から中々抜け出せず、ネットで必要な事だけ検索していましたので、
全く理解出来ていません。
質問だけでもまともに出来るよう、勉強します。
コードありがとうございます。やりたい処理ができました。
(yingli20) 2017/05/05(金) 14:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.