Excelマクロで、アクティブブックについて教えてください。 Dim ws1 As Worksheet, ws2 As Worksheet Dim lr2 As Long

Visual Basic | Excel39閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございます!

お礼日時:6/24 21:19

その他の回答(1件)

0
ID非公開

2022/6/23 21:44

>アクティブシートは、アクティブブックのシート >だと思っているのですが、合っていますか? あってますけど、 アクティブになっている、そのブックの、アクティブになっているシートです。 ですので今がどの状態なのかは状況で変化します。 その点を把握して作成しないと、参照のつもりが上書きすべきではないデータを上書きして消してしまう可能性も否めません。 マクロ付きのブックでマクロを起動して、別のファイルAを開いた時点でファイルAの表示されているシートがアクティブシートになります。 ブックAはマクロ付きで、ブックA1、ブックA2,ブックA3のシートが有り、ブックAを開いたときにはブックA1が表示されている。 ブックBはマクロ無しで、ブックB1、ブックB2,ブックB3のシートが有り、ブックBを開いたときにはブックB1が表示されている。 と、いう状態で 1)マクロ付きのブックAを開く。 この時点でアクティブシートは、ブックAのブックA1がアクティブになっているシートなので、アクティブシートはブックA1 2)マクロを起動してブックBを開く。 この時点でアクティブシートは、ブックBのブックB1がアクティブになっているシートなので、アクティブシートはブックB1 アクティブブックもブックB。 thisworkbook.Nameはマクロ付きのブックA activebook.Nameは、アクティブになっているブック 1)の時は、ブックA 2)の時は、ブックB そのため、今どのブックのどのシートがアクティブなのかは、処理の流れで常に変化します。 出来ることなら、ブック名やシート名は指定して処理すべきかと思います。