1

vlookup 数式内の変数ワークシートに問題があります。ワークシートの参照方法に関係があると思います。これについて他の多くのブログを見て、さまざまな手法を使用しましたが、それでも「実行時エラー 1004」が発生します。以下は関連するコードの要約です - どんな助けでも大歓迎です。

Sub PopulateDynamicReport()

    Dim getcolumnPDR As Range
    Dim getConfigPosition As Range
    Dim getFieldDescriptionPDR As String
    Dim getFormulaPDR As Variant
    Dim columnletter As String
    Dim myrange As String
    Dim getColumnLetter As String
    Dim counter As Long
    Dim lLastrow As Long
    Dim ws As Worksheet

    lLastrow = FindLastRow("Pricing Analysis")

    Sheets("Pricing Analysis").Cells.Clear

    counter = 1

    Set getConfigPosition = Sheets("Config").Cells.Find(What:="Field Description", After:=ActiveCell, LookIn:= _
            xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
            xlNext, MatchCase:=False, SearchFormat:=False).Offset(counter, 0)

            columnletter = getConfigPosition.Offset(0, -1)
            Set ws = Sheets(getConfigPosition.Offset(0, 2).Value)

            Sheets("Pricing Analysis").Cells(1, columnletter).FormulaR1C1 = "=VLOOKUP(RC[-4],ws.range(!C[-4]:C[-2]),3,FALSE)"

            counter = counter + 1

End Sub
4

1 に答える 1

2

これを試して:

"=VLOOKUP(RC[-4]," & ws.Name & "!RC[-4]:RC[-2],3,FALSE)"

シートに書き込む数式に vba オブジェクトを混在させることはできませんが、上記で行ったように、vba オブジェクトを使用して、数式を記述するために必要な文字列を作成できます。

于 2013-01-14T14:56:03.923 に答える