Excel VBA 質問スレッド №1956 (解決済)
シート指定しているがシートを開いていないと動作しない
投稿者 : ポムの忌 投稿日時 : 2024/07/08(Mon) 21:34:47 OS : 未指定 EXCEL : 未指定
こちらを参考にした下記コードがあります。
マクロ操作シートを開いた状態で上記コードを実行すると、指定した行が削除されません。なにも削除されていません。
シフト表シートを開いた状態で上記コードを実行すると、指定した行が削除されます。
シートを指定しているはずなのに、何故シートを開いた状態でないと動作しないのか困っています。
コードがおかしいでしょうか?
お手数をおかけしますがよろしくお願いします。
こちらを参考にした下記コードがあります。
Sub macro() Dim rng As Range, i As Long Dim namae As Variant namae = Worksheets("マクロ操作").Range("B22") For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If WorkSheets("シフト表").Cells(i, "AA") = namae Then WorkSheets("シフト表").Rows(i & ":" & i + 31).Delete Exit For End If Next i End Sub
マクロ操作シートを開いた状態で上記コードを実行すると、指定した行が削除されません。なにも削除されていません。
シフト表シートを開いた状態で上記コードを実行すると、指定した行が削除されます。
シートを指定しているはずなのに、何故シートを開いた状態でないと動作しないのか困っています。
コードがおかしいでしょうか?
お手数をおかけしますがよろしくお願いします。
スポンサーリンク
[返信 1] Re : シート指定しているがシートを開いていないと動作しない
投稿者 : さんこう 投稿日時 : 2024/07/08(Mon) 21:49:29
>シートを指定しているはずなのに
シートを指定していないところがあるからかと思います。
>シートを指定しているはずなのに
シートを指定していないところがあるからかと思います。
[返信 2] Re : シート指定しているがシートを開いていないと動作しない
投稿者 : ポムの忌 投稿日時 : 2024/07/08(Mon) 21:56:59
■[返信 1] さんこうさん(2024-07-08 21:49:29)の記事
> >シートを指定しているはずなのに
>
> シートを指定していないところがあるからかと思います。
>
ではなぜシート開いている場合には動作するのでしょうか?
■[返信 1] さんこうさん(2024-07-08 21:49:29)の記事
> >シートを指定しているはずなのに
>
> シートを指定していないところがあるからかと思います。
>
ではなぜシート開いている場合には動作するのでしょうか?
[返信 3] Re : シート指定しているがシートを開いていないと動作しない
投稿者 : さんこう 投稿日時 : 2024/07/08(Mon) 22:26:14
>ではなぜシート開いている場合には動作するのでしょうか?
シートを指定していない場合は、アクティブシート(開いているシート)を指定したことになります。
>ではなぜシート開いている場合には動作するのでしょうか?
シートを指定していない場合は、アクティブシート(開いているシート)を指定したことになります。
[返信 4] Re : シート指定しているがシートを開いていないと動作しない
投稿者 : higeru 投稿日時 : 2024/07/09(Tue) 09:03:09
4,7,8行目はすべて Cells や Range の前に親オブジェクトであるワークシートが明示的に指定されているのに対して、6行目だけ(アクティブシートの)Cells になっているからです。
4,7,8行目はすべて Cells や Range の前に親オブジェクトであるワークシートが明示的に指定されているのに対して、6行目だけ(アクティブシートの)Cells になっているからです。
[返信 5] Re : シート指定しているがシートを開いていないと動作しない
投稿者 : ポムの跽 投稿日時 : 2024/07/09(Tue) 23:30:26
さんこう様、higeru様。
おかげさまで解決しました。
教えていただきありがとうございました。
さんこう様、higeru様。
おかげさまで解決しました。
教えていただきありがとうございました。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-03 15:35:16 )