我仔细阅读了所有关于该主题的指南,但没有一个可以解决我的问题。 我想找到此vlookup函数的单元格地址:
INSERT INTO INSERT INTO mySQLServerTable (Col1, Col2, Col3, ...)
SELECT e.Col1, e.Col2, e.Col3, ...
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'C:\path\to\myDatabase.accdb', 'admin', '', myExcelTable) AS e
(如果需要更改,当前变暗为变体) 我想找到找到的值的地址,并使它等于一个变量,如下所示:
vlookadd = Application.Lookup(partno, Sheet3.Range("A5:B46"), 2, False)
通过查找功能找到的值可以正常工作,但是在尝试了多种可能的解决方案后,地址始终为空
答案 0 :(得分:3)
以及使用find
cells(worksheetfunction.match(partno,range("a5:a46"),0)+4,2).address
加号4是由于范围的起始行是5,例如第5行中的匹配项将返回1。
答案 1 :(得分:0)
根据评论,使用查找和偏移量就可以了。
Function getAddress(itemToFind As Variant, lookupRange As Range, columnOffset As Integer)
getAddress = lookupRange.Find(What:=itemToFind).Offset(0, columnOffset).address
End Function
Sub Example()
Dim batch1add As String
Set batch1add = getAddress(partno, Sheet3.Range("A5:B46"), 2)
End Sub
如PEH在先前答案的建议中所建议的那样:合并一些错误处理将是明智的,因为两种实现均假定每次调用它们时该值都存在。