Vba 使用偏移功能时出现运行时错误1004
如何检索已定义单元格旁边的单元格?单元格“A2”在处存储Vba 使用偏移功能时出现运行时错误1004,vba,Vba,如何检索已定义单元格旁边的单元格?单元格“A2”在处存储,我想显示我在单元格“B2”中显示的奥地利,而不是在处显示的。我需要在For循环中使用此功能 AT Austria IT Italy FR France 我需要使用AT进行For循环(出于其他目的),但我想写下国家名称(奥地利或意大利等) 下面的宏提供所需的运行时错误424对象 Sub test() Dim country Dim country_list Dim counter country_l
,我想显示我在单元格“B2”中显示的奥地利
,而不是在
处显示的。我需要在For循环中使用此功能
AT Austria
IT Italy
FR France
我需要使用AT进行For循环(出于其他目的),但我想写下国家名称(奥地利或意大利等)
下面的宏提供所需的运行时错误424对象
Sub test()
Dim country
Dim country_list
Dim counter
country_list = Worksheets("Sheet1").Range("A2:A4")
counter = 1
For Each country In country_list
Worksheets("Sheet2").Cells(counter, 1).Value = country.Offset(0, 1).Value
counter = counter + 1
Next country
End Sub
现在,您没有将有效的范围传递给范围(国家)…
方法。您已将country
定义为单元格“A2”的值
1004错误表示您正试图访问不存在或无法访问的range by address。在这种情况下,该范围根本不存在。您只需使用set即可按您想要的方式工作
Set country_list = Worksheets("Sheet1").Range("A2:A4")
如果变量未分配对象,则返回错误。谢谢David,这很有帮助。但是,我仍然希望引用country,因为在For循环中,我不能说“A2”,因为它也可以是“A3”etcso,我需要做什么才能使以下内容正常工作:country.Offset(0,1).value您需要显示更多代码<代码>国家/地区
必须至少是有效的范围对象。谢谢David。。。我改变了我的问题(提供了更多的代码),同时我得到了答案。谢谢你的帮助@怀斯曼Np。如果这解决了您的问题,并且您觉得它很有帮助,那么您可以在SO中作为表示感谢的一种方式。
Set country_list = Worksheets("Sheet1").Range("A2:A4")