2017-07-06 26 views
0

我想在列“A”中找到一个值,然后从该地址选择遇到的第一个空行。这是我有,但集f不工作。我的集合c工作并返回$ A $ 32,这是正确的地址。我错过了什么?简单的VBA从第一个.Find值中选择一个范围?

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?在Setf = Range(c,c.End(xlDown))时发生错误 – SJR

+0

。 c和f在线声明。即时通讯不使用选项明确。我可以做? –

1

Removed Code

你只是想分配Range($A$32 & LastRow)。在不添加:(冒号)和列字母(A)的情况下,它不能正确地将范围分配给F.尝试此代码并查看它现在是否可用。

+0

当我调试线,我得到一个对象错误1004 –

+0

使用@SJRs解决方案。我在手机上写了这个,可能错过了一些东西。逻辑本身就在那里,但代码可能不是。 – Busse

相关问题