2017-07-06 14 views
0

列「A」内の値を探し、そのアドレスから最初に見つかった空白行を選択したいとします。ここに私が持っているものはありますが、セットfは動作していません。 My Set cが動作し、正しいアドレスである$ A $ 32が返されます。私は何が欠けていますか?最初の.Find値から範囲を選択する単純なVBA?

With Workbooks("MyBook").Sheets("Mysheet") 
    Set c = .Range("$A:$A").Find("Red Car").Offset(2, 0) 
    Set f = .Range(c.Address & Range("A").End(xlDown).Row) 
End With 

答えて

2

これを試してみてください、と検索用語を

With Workbooks("MyBook").Sheets("Mysheet") 
    Set c = .Range("$A:$A").Find("Red Car") 
    If Not c Is Nothing Then Set f = Range(c.Offset(2, 0), c.Offset(2, 0).End(xlDown)) 
End With 
+0

これを使用すると、タイプミスマッチエラー –

+0

が表示されます。あなたはどのようにcとfを宣言しましたか? – SJR

+0

Setf = Range(c、c.End(xlDown))でエラーが発生します。 cとfはインラインで宣言されています。明示的にオプションを使用していません。私はすべきですか? –

1

Removed Code

あなただけRange($A$32 & LastRow)を割り当てようとしています。 :(コロン)とコラム文字(A)を追加しないと、Fに範囲を正しく割り当てることができません。このコードを試して、今動作するか確認してください。

+0

を発見されたことを最初に確認し、私はその行をデバッグするとき、私はオブジェクトエラー1004 –

+0

使用@SJRs解を得ます。私はこれを私の電話で書きましたが、何かを見逃しているかもしれません。ロジック自体は存在しますが、コードはそうではないかもしれません。 – Busse

関連する問題