【问题标题】:vba vlookup #name issuevba vlookup #name 问题
【发布时间】:2015-10-25 16:26:54
【问题描述】:

我想使用我在打印单元格的实际公式中声明的变量。例如, 此代码工作正常,没有错误 - 但是,我想使用变量“rownum”和“colnum”作为单元格坐标来查找查找值,即 vlookup 方程中的第一个参数。

Private Sub CommandButton8_Click()
Dim rownum As Long
Dim colnum As Long
Dim x As Long
Dim y As Long
Dim colindexval As Double
Dim resizeval As Double

rownum = Sheet1.Cells(28, 21).Value
colnum = Sheet1.Cells(27, 21).Value
x = Sheet1.Cells(20, 21).Value
y = Sheet1.Cells(21, 21).Value
resizeval = Sheet1.Cells(19, 12).Value
colindexval = Sheet1.Cells(16, 12).Value
Sheet9.Cells(y, x).Resize(resizeval, 1).Formula ="=VLOOKUP(Sheet9.Cells(rownum,colnum),Sheet8!" _ ' these are the lines that need addressing
& Sheets("Price Data").Range("A12").CurrentRegion.Address & ",Sheet1!L$29,FALSE)" ' the current region bit is working fine

End Sub

字面上最终放入单元格的内容: " =VLOOKUP(Sheet9.Cells(rownum,colnum),Sheet8!$A$11:$I$44,Sheet1!L$29,FALSE)" ^最终成为#NAME 错误

如何解决此问题,以便 excel 单元格术语识别代码术语?即“=vlookup(Sheet9.Cells(rownum,colnum),Sheet8! ...”

我希望 vlookup 值是由坐标 [rownum,colnum] 给出的工作表 9 上的单元格 - 而不是从字面上说公式!

谢谢大家! 比利

【问题讨论】:

    标签: vba vlookup


    【解决方案1】:

    这是实现它的一种方法:

    Sheet9.Cells(y, x).Resize(resizeval, 1).Formula ="=VLOOKUP(" & Sheets("Sheet9").Cells(rownum,colnum) & ",Sheet8!" _
    

    【讨论】:

    • 我还在搞清楚 VBA .... 是否使用“&...&”表示法...表示代码文本或其他内容吗?
    • 已更新,因此正确引用了工作表。
    • & 是字符串连接的简写。 Concatenate 意味着连接在一起。 “A”和“B”=“AB”。这允许您连接变量的内容(或在本例中为单元格内容)和文字文本(也称为硬编码值)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多