1

我的以下代码显示错误消息“应用程序定义或对象定义错误”,我不知道为什么。你能看看并帮我解决问题吗?

Private Sub CommandButton1_Click()

j = 3

For i = 1 To 46

Sheets("Income").Range(Cells(6, j), Cells(51, j)).Formula = "=VLOOKUP($B6,[" & Cells(5, i + 2).Value & ".xlsx]2 Intercompany markup!$A$1:$E$70,4,FALSE)"

j = j + 1

Next i

End Sub

谢谢你的帮助。

4

1 回答 1

1

当您使用该语法在“收入”表上定义您的范围时,您需要为 和 指定.Range(Cells(x,y))

您还应该声明您的变量。

每次输入完全限定的工作表名称都会变得很荒谬,因此您还应该声明一个工作表变量。

尝试这个:

    Dim ws As Worksheet
    Dim j As Integer
    Dim i As Integer

    Set ws = ThisWorkbook.Sheets("Income")
    j = 3

    For i = 1 To 46

        ws.Range(ws.Cells(6, j), ws.Cells(51, j)).Formula = _
            "=VLOOKUP($B6,[" & ws.Cells(5, i + 2).Value & ".xlsx]2 Intercompany markup!$A$1:$E$70,4,FALSE)"
        j = j + 1

    Next i
于 2013-06-24T15:51:02.907 回答