VLOOKUP 并在同一工作表中搜索不同的 n

[已编辑] 很抱歉我没有很清楚地描述这一点:我的问题是关于 VLookup 函数:我使用了如下代码:

    B5'n$CX$"

目的是让 VBA 转到 B5 工作表,并确定它必须转到哪个“n”(n25 n35 等)。

这是行不通的,所以我在这里寻求是否可以得到任何建议。

以下是原帖:

我是 VBA 的新手,刚开始接触它一两次。我修改了下面的代码,我的目标是让 VBA 找到“DI”&i 的值,这取决于电子表格 B5 中“DE”&i 的值,但在 B5 中,数字“n”取决于"CX"&i 的值,当 VBA 去查找 "DE"&i 的值时,它必须首先借助值 "CX"&i 来确定 n 的值。工作表B5的截图如下:

https://www.dropbox.com/s/do6i7zeylaz0sch/B5.jpg?dl=0

我的代码如下:

首先,如果“DE”&i >3.9,我希望 VBA 设置“DI”&i = 0,否则使用 vlookup 功能。非常感谢您的任何帮助和建议。赞赏。

    Sub FindPl()
    For i = 2 To 1730
    If .Cells("DE" & i).Value > 3.9 Then .Cells("DI" & i).Value = 0
    Else: .Cells("DI" & i).Value = 
    Application.WorksheetFunction.VLookup($DE$" & 
    i&",'[C:\Users\chenj5\Documents\Meeting_Jan_2019\simulation of Z1.9 for 
    Ultra Multi-Focal\Meeting 0220\Dataset used for simulation]B5'n$CX$" & 
    i&", 2, True)
    End If
    Next cell
    Next i
    End Sub
西里尔

将尝试一些示例代码......我猜测你的源数据并修复了一些语法错误......花一些时间更新和适当的尺寸标注。您发布的代码发生/错误太多,无法提供更清晰的内容。

Sub FindPl()
    dim i as long, wb as workbook, OUTPUTRANGE as range, SEARCHRANGE as range
    set wb = "C:\Users\chenj5\Documents\Meeting_Jan_2019\simulation of Z1.9 for Ultra Multi-Focal\Meeting 0220\Dataset used for simulation.xlsx" 'added xlsx extension
    with wb
        set OUTPUTRANGE = .range(.cells(5,"D"),.cells(100,"D")) 'guessed... the range with the desired output
        set SEARCHRANGE = .range(.cells(5,"B"),.cells(100,"B")) 'guessed... the range where you will find .cells(i,"DE")
    end with
    with activeworkbook.sheets(1) 'FIX THIS TO FIT YOUR NEEDS
        For i = 2 To 1730
            If .Cells(i, "DE").Value > 3.9 Then 'FIXED SYNTAX ERROR
                .Cells(i, "DI").Value = 0
            Else: 
                .Cells(i, "DI").Value = Application.Index(OUTPUTRANGE, Application.Match(.cells(i, "DE").value,SEARCHRANGE, 0)) 
            End If
        Next   
    end with
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章