我的问题是:
我正在寻找一种方法来获得我从.Find(fecha)
获得第一个结果的范围
Dim fecha As Date
Dim fechadepo As Date
Dim deposito As Double
fecha = Sheets("Ingresos").range("J4")
fechadepo = Sheets("Datos").range("P7:P1500").Find(fecha)
deposito = fechadepo
忽略最后一行,我要在此变量(deposito)中保存的真实内容是此单元旁边的单元格
我很想保存使用.Find(fecha)
得到结果的范围,以便使用activecell.offset(0.2)
并将信息保存到变量中,然后将这些变量保存到另一列的列中表,我看了几个小时,这不是徒劳,我已经学习了很多提高性能编码的技巧,避免使用(.select)(。active)(是的,我希望使用activecell。 ..)等。
标题如何说,我试图使用application.vlookup()
,我也得到了结果,但我保留了不将结果保存到范围内,或保存我得到结果的范围变成一个变量,这是让我生气!
我非常感谢你的帮助,晚安
答案 0 :(得分:0)
你关闭了。 .Find
会返回Range
个对象,但您会将其直接插入Date
。这应该适合你:
Dim fecha As Date, fechadepo As Date
Dim rge_Find As Range, findAddr As String
fecha = Sheets("Ingresos").Range("J4")
Set rge_Find = Range("P7:P1500").Find(fecha)
fechadepo = rge_Find.Value
findAddr = rge_Find.Address
关于您对vlookup
的评论,更高级的选项是索引 / 匹配组合,它提供的功能比基本{{1}更多}。请参阅this和this。
答案 1 :(得分:0)
Sheets("Datos").range("P7:P1500").Find(fecha).offset(0,2)
这是正确的答案!!
婷婷婷! 我们有一个胜利者! 感谢@jsotola我现在感觉很傻......没问题,我在这个世界上很陌生