[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『実行時エラー91:オブジェクト変数が...』(ヤブーヒーヒー)
[実行時エラー'91': オブジェクト変数またはWithブロック変数が設定されていません。とでてしまう。]
初めて質問するので失礼なくかきこめるかどうか・・・。
以下のような「表の”×”を検索して削除する」というマクロを組んでみましたが,ちゃんと機能したあとエラーがでてしまいます。
ヘルプも,過去ログもみたのですが,どうしたらいいのかわかりません。
教えていただけると助かります。よろしくお願いします。
Sub バツを検索して削除()
Dim mykekka As Range Dim myfirst As String With Range("A92:I181") Set mykekka = .Find(What:="×") If Not mykekka Is Nothing Then myfirst = mykekka.Address Do mykekka.ClearContents Set mykekka = .FindNext(after:=mykekka) Loop Until mykekka.Address = myfirst Else MsgBox "×はありません" End If End With End Sub
VBEでローカルウィンドウを表示させれば、すぐに分かります。 mykekka が Nothing になったときに.Address で取得できないからです。 ループの条件を変更してみて下さい。
(INA)
INAさん,ありがとうございました。
また,教えてください。(ヤブーヒーヒー)
処理そのものが問題ではないのでしょうけれども、念のため書かせていただきます。
Sub Macro1() Selection.Replace What:="*×*", Replacement:="" End Sub
ということで、同様の処理になるように思います。 (LOOKUP)
ここのサイトは本当に勉強になります。(ヤブーヒーヒー)
ヤブーヒーヒーさん、おはようございます。 もう、解決されましたか?私がFindとループについてコメントするのは ものすごく抵抗があるのですが、汗^^;一応カキコしておきます。 三パターン用意してみました。 で、どうでしょう? (夏目雅子似)
[[20040628231744]]『Findとループ』(夏目雅子似)
Sub バツがある間ループ() Dim mykekka As Range With Range("A92:I181") Set mykekka = .Find(what:="×") If Not mykekka Is Nothing Then Do mykekka.ClearContents Set mykekka = .FindNext(after:=mykekka) Loop While Not mykekka Is Nothing MsgBox "×を削除しました。" Else MsgBox "×はありません" End If End With End Sub
Sub バツが無くなるまでループ() Dim mykekka As Range With Range("A92:I181") Set mykekka = .Find(what:="×") If Not mykekka Is Nothing Then Do mykekka.ClearContents Set mykekka = .FindNext(after:=mykekka) Loop Until mykekka Is Nothing MsgBox "×を削除しました。" Else MsgBox "×はありません" End If End With End Sub
Sub バツが無くなったらループを出る() Dim mykekka As Range With Range("A92:I181") Set mykekka = .Find(what:="×") If Not mykekka Is Nothing Then Do mykekka.ClearContents Set mykekka = .FindNext(after:=mykekka) If mykekka Is Nothing Then Exit Do Loop MsgBox "×を削除しました。" Else MsgBox "×はありません" End If End With End Sub
すごいですね,同じ処理をするにも何パターンもあるんですね。皆様に教えていただいた5パターン全てが勉強になります。まだ,VBAをかじった程度なのでループは使ったことありませんが,今後の参考にさせていただきます。
(ヤブーヒーヒー)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.