Excel VBA - 动态应用公式导致错误

时间:2017-03-21 10:40:46

标签: excel excel-vba vba

我有一个要求,我需要使用VBA动态编写公式。

我能够找到列名和行号。现在我如何在公式中应用它?

Colm = WorksheetFunction.Match("Name", Sheets("Sheet1").Rows(5), 0)
BuName = GetColumnName(Colm)
Row = WorksheetFunction.Match("Name", Sheets("Sheet1").Columns(Colm), 0)

BuName返回一个字符串,即“A”。 Row返回2的数字。

现在我尝试在使用V​​BA的公式中应用它,

Worksheets("Sheet1").Range("AQ1").Formula = "=$'BuName'$Row&$A$10"

有谁知道如何为此编写公式?

1 个答案:

答案 0 :(得分:0)

这对我有用:

Dim Colm, Row As Long
Dim BuName As String

With Worksheets("Sheet1")
    Colm = WorksheetFunction.Match("Name", .Rows(5), 0)
    BuName = GetColumnName(Colm)
    Row = WorksheetFunction.Match("Name", .Columns(Colm), 0)

    .Range("AQ1").Formula = "=$" & BuName & "$" & Row & "&$A$10"
End With