プロが教えるわが家の防犯対策術!

お世話になります。
下記のようなコードでsearchがgenre.worksheets(1)のA列になかった場合、そのA列の最終行の次に追加するようにしたいのですが、VBAで実行時エラー'424'が出て困っています。
エラーメッセージで検索して、setをつけると解決するという記事が多くあるのを知ったのですが、
デバッグで黄色くなっているのは
genre.Worksheets(1).Range("A" & genre.Worksheets(1).Cells(Row.Count, "A").End(xlUp).Row + 1).Select
の部分です。
解決策ご教示お願いします。
コードが怪しいと思われる1ブロックになっているのと、インデントがされておらず見づらくてすみません。

For lNo = 6 To 9
search = da.Worksheets(1).Cells(fi, sNo).Value
If search = 0 Then
Exit For
End If
Set sRange = genre.Worksheets(1).Range("A2:A" & genre.Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row).Find(what:=search)
If sRange Is Nothing Then
genre.Worksheets(1).Range("A" & genre.Worksheets(1).Cells(Row.Count, "A").End(xlUp).Row + 1).Select
ActiveCell.FormulaR1C1 = search
Else
ThisWorkbook.Worksheets(1).Cells(fi + 2, tNo).Value = sRange.Offset(0, lNo).Value
End If
Debug.Print (sRange)
tNo = tNo + 1
Next lNo

A 回答 (2件)

こんにちは


genre.Worksheets(1).Range("A" & genre.Worksheets(1).Cells(Row.Count, "A").End(xlUp).Row + 1).Select

>Row.Count ・・・
Rows.Count ですね

ちなみにSelectなのでWorksheets(1)が表示された状態でないと
1004エラーが発生する可能性がありますので 
もう少し工夫(Selectを使わない)が必要ですかね・・
    • good
    • 0

オブジェクトがEmptyだった場合に発生。

コードの修正が必要です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!