以下のコードを走らせると実行時エラー91[オブジェクト変数またはwithブロック変数が設定されていません]となってしまいます。
On Error Resume Nextで回避出来るのですが、理由がわかりません。On Error Resume Nextで回避しなくともいいようにするにはどう直せばいいのでしょうか?
Sub Del_Comment()
Dim MyR As Range, C As Range
Set MyR = Cells.SpecialCells(xlCellTypeComments)
For Each C In MyR
C.Comment.Delete
Next
End Sub
No.1ベストアンサー
- 回答日時:
merlionXXさん、いつも、スレッド汚してすみませんです。
(^^;Wendy02です。
少なくとも、SpecialCellsは、On Error トラップなしでは、まともには使えませんね。
それと、今回のエラーの意味は、その状況が書かれていませんので、私には分かりません。
ただ、Cells というのは、ワークシートのプロパティに属するものですから、Cellsと、いきなり、そのままで使うと、モジュールの違いによって、実行時エラーが起こります。なるべく、Cellsは、シートを指定するか、以下のように、ActiveSheetなどとしたほうがよいです。
また、モジュールは、一般的に、Excelでは標準モジュールを使うようにお勧めします。
Sub Del_Comment2()
Dim cm As Comment
For Each cm In ActiveSheet.Comments
cm.Delete
Next
End Sub
Wendy02さん、いつもためになる回答やご助言ありがとうございます。
おかげさまで無事解決です。
> 少なくとも、SpecialCellsは、On Error トラップなしでは、まともには使えませんね。
え、そうなんですか?
知らずに結構使ってました、大変!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでNumLockキーの状...
-
エクセルのダブルクリックで
-
ExcelのVBでタイピングゲームも...
-
HULFT完了コードについて
-
別シートのマクロを実行する方法
-
Application.Runエラー(1004)
-
Access終了時にマクロまたはVBA...
-
ACCESS2000の終了時に自動で実行
-
エクセルのマクロボタンが編集...
-
ウィンドウサイズ・場所のレジ...
-
シート保護を掛けたまま並べ替...
-
今日の日付の範囲を指定して印...
-
Exel 2003 にて「今日」を条件...
-
エクセルのマクロ
-
ExcelのVBAでDisplayalertsで警...
-
ユーザーフォームに今日の日付を
-
特定のシートだけ印刷はマクロ...
-
マクロとモジュールの違いを教...
-
Accessからエクセルマクロを起...
-
access2010 コマンドまたはアク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでNumLockキーの状...
-
vbaでmsgboxの位置を指定
-
エクセルVBA フォームShowでオ...
-
VBAが得意な方 助けてください...
-
Excel:アドイン(ThisWorkbook)...
-
【Excel】BeforeCloseを毎回呼...
-
HULFT完了コードについて
-
smartvisionで録画失敗が頻発
-
エクセルのダブルクリックで
-
フォームを作成すると同時にイ...
-
エクセル2003のマクロでコマン...
-
エクセルVBAでワークシートのコ...
-
エクセルのマクロボタンが編集...
-
別シートのマクロを実行する方法
-
Access終了時にマクロまたはVBA...
-
Application.Runエラー(1004)
-
シート保護を掛けたまま並べ替...
-
エクセルVBAで、ボタンの文字を...
-
access2010 コマンドまたはアク...
-
マクロ 戻るボタンを押したらシ...
おすすめ情報