首页 文章

VBA中的VLOOKUP公式为每张表格中的相同单元格

提问于
浏览
0

我正在尝试在VBA中创建一个简单的宏来更改工作簿中所有工作表中相同单元格的公式名称 . 但是,由于某些原因它不起作用 . 有人可以向我解释有什么问题吗?为什么将公式更改为lookupvalue而不是公式值?

Sub RenameTest()

For Each aSheet In ActiveWorkbook.Worksheets
    aSheet.Activate
    If aSheet.Name <> "Test" Then
        Dim lookupvalue As String
        Dim formulavalue As String
        lookupvalue = Cells(2, 3).Value
        formulavalue = "=VLOOKUP(" & lookupvalue & "'Test'!A1:B122;2;FALSE)"
        Cells(2, 11).Formula = formulavalue
    End If


Next aSheet

结束子

1 回答

  • 1

    使用 .Formula 属性时,应始终使用逗号 , 作为分隔符(即使您的本地设置需要以分号作为分隔符) . 将 ; 更改为 ,

    formulavalue = "=VLOOKUP(" & lookupvalue & ",'Test'!A1:B122,2,FALSE)"
    Cells(2, 11).Formula = formulavalue
    

    或者,您可以使用 .FormulaLocal (使用本地分隔符,即分号 ; ):

    formulavalue = "=VLOOKUP(" & lookupvalue & ";'Test'!A1:B122;2;FALSE)"
    Cells(2, 11).FormulaLocal = formulavalue
    

    另一个问题 - 你在 'Test'!A1:B122 之前错过了逗号(分号) .

相关问题