ここから本文です

Y_line = .Cells.Find(Job_name, LookAt:=xlWhole).Rowこの文章がエラーになって困...

hay********さん

2010/3/1212:03:01

Y_line = .Cells.Find(Job_name, LookAt:=xlWhole).Rowこの文章がエラーになって困っています。何が原因なのかサンプルどおり書いているつもりなんですがわからなくて。どなたかご教授いただけたらと思います。

With ActiveWorkbook.ActiveSheet

Set Obj = .Cells.Find(Job_name, LookAt:=xlWhole)
Y_line = .Cells.Find(Job_name, LookAt:=xlWhole).Row

If Y_line <> "" Then
Start_Time = Mid(fText, Clm + 34, 8)
.Cells("D" & Y_line) = Start_Time
End If
end with
このようなコードです。job_nameには値が入っています。
”オブジェクト変数またはwithブロック変数が設定されていません。”というエラーになってしまいます。
ActiveWorkbook.ActiveSheet.cells.find としても同じエラーが出てしまいます。

閲覧数:
1,235
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

2010/3/1212:32:13

cells.Findはあてはまるセルが見つかったときにはRangeオブジェクトを返しますが、
あてはまるセルが見つからなかった時にはNothing を返します。
Nothingには当然、.Rowというオブジェクト変数はありません。

ですから、正しくは
Y_line = .Cells.Find(Job_name, LookAt:=xlWhole).Row
ではなく、
If Not Obj Is Nothing Then
Y_line = Obj.Row
End If
ではないのでしょうか。

質問した人からのコメント

2010/3/12 13:10:08

降参 おっしゃるとおりでした!!ありがとうございました(m_ _)m

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる