![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VBA初心者です。
ファイルA の C列 に入力されているデータが ファイルB
に含まれているかどうか検索するマクロを Cells.Find
を使って作ろうとしています。
データがファイルBに存在する場合は問題ありませんが存在
していない場合エラーが出て止まってしまいます。
ヘルプを見ると「セルが見つからなかった場合は、Nothingを返します」
と書かれていますが、どうもNothingとは返ってきません。
このエラーを回避する方法を教えてください。
例えばこんなマクロを組みました。
For tate = 0 To 19
Windows("ファイルA.xls").Activate
Range("C1").Offset(tate, 0).Select
データ = Range("C1").Offset(tate, 0)
Windows("ファイルB.xls").Activate
Cells.Find(データ, MatchCase:=False).Activate
Next tate
例えば最後の2行を
結果 = Cells.Find(What:=ISISDate, MatchCase:=False).Activate
MsgBox (結果)
Next tate
とするとデータが含まれている場合は「True」と返ってきますが、
含まれていない場合は MsgBox が表示される前にエラーとなってしまいます。
とりあえずこのエラーを回避する方法をご存知でしたらお教えください。
No.2ベストアンサー
- 回答日時:
No.1です。
>見つからなかった場合の処理を組むことは可能なのでしょうか?
Notで否定しているのだから、外せば逆になりますよ。
If rg Is Nothing Then
(見つからなかった場合の処理)
Else
(見つかった場合の処理)
End If
間に合いませんでした。。。
先程補足書いてから気がつきました。
ハッキリ言って私の脳ミソ腐ってますね。。。
本当にありがとうございました。
No.1
- 回答日時:
こんにちは。
maruru01です。Nothingなのに、Activateしようとするからエラーになるのです。
いったんRangeオブジェクトにセットして下さい。
Dim rg As Range
~省略~
Set rg = Cells.Find(データ, MatchCase:=False)
If Not rg Is Nothing Then
(見つかった場合の処理)
End If
Findのヘルプの使用例に載っていますよ。
この回答への補足
ありがとうございました。
初心者なのであまりよく分からないのですが、動きました。
せっかくなのでもう一つ教えてください。
見つかった場合の処理はお教え下さった通りで出来ましたが
見つからなかった場合の処理を組むことは可能なのでしょうか?
甘えてばかりで申し訳ありません。
初心者ということで大目に見てください。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6 Dir関数で52エラー発生
-
エクセル VBA dll 読み込...
-
「パス名が無効です」の発生原因
-
PowerShellを使って関連付けら...
-
batファイルでレジストリキーの...
-
エクセルマクロ・Cells.Find の...
-
VBでファイルが開かれているか...
-
ワークブックに名前をつけて保...
-
【COBOL】read文でエラー
-
Returnに対するGoSubがありません
-
Request.BinaryReadでのエラー
-
Access2013にてドラッグ&ドロ...
-
VBAからAcrobat 8.0でPDFファイ...
-
ACCESS VBAでのインポート
-
Excel VBA でFunctionが呼び出...
-
gccを行ってもexeファイルが生...
-
vbsファイルでのワイルドカード
-
VBAでDLLが見つからないエラー
-
access テキストボックスの値取得
-
ディストリビューションで作成...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Returnに対するGoSubがありません
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
「パス名が無効です」の発生原因
-
FTPの送信結果を検知したい
-
アクセスのクエリでコンパイル...
-
ACCESS VBAでのインポート
-
VBから参照できないCのDLLを使...
-
VB6 Dir関数で52エラー発生
-
すでにファイルが開かれている...
-
freadでデータがない場合の読込...
-
access テキストボックスの値取得
-
fgets関数のEOFの扱い方について
-
NAS上のファイルの使用中が解除...
-
Access2013にてドラッグ&ドロ...
-
【COBOL】read文でエラー
-
エクセル VBA dll 読み込...
-
PowerShellを使って関連付けら...
-
アクセスでイベントのロジック...
-
エクセルマクロでエラーの原因...
おすすめ情報