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 に答える