1

一緒にグループ化される多くのソースからのデータを含むExcelシートを持っているので、見る必要があるものはあなたが見ているものの上にあるので、1つのシートの別々の部分に多くのVLookupがあります。

Sub linkFDCfdv()
Range("A1").Select
Dim doesFDChaveDescription As Boolean
Dim isLastRowFDC As Boolean
Dim myRange As String
Dim firstFDCrow As Long
Dim lastFDCrow As Long
While Len(Selection.Value) > 0

    If Selection.Value = "FDC" Then

        If isLastRowFDC = False Then
            firstFDCrow = ActiveCell.Row

        End If

        isLastRowFDC = True

        ActiveCell.Offset(0, 3).range("A1").Select

        If Len(Selection.Value) > 0 Then
            doesFDChaveDescription = True
        Else
            doesFDChaveDescription = False
        End If
        ActiveCell.Offset(0, -3).range("A1").Select
    Else
        If isLastRowFDC = True Then
            lastFDCrow = ActiveCell.Row - 1
        End If

    End If

    If Selection.Value = "FDV" Then

        ActiveCell.Offset(0, 10).range("A1").Select

        myRange = "B" & firstFDCrow & ":D" & lastFDCrow

        ActiveCell.Formula = "=VLOOKUP(R[0]C[-2]," & myRange & ",2)"


        ActiveCell.Offset(0, -10).range("A1").Select
    End If


    ActiveCell.Offset(1, 0).range("A1").Select

Wend

End Sub

何が起こっているかというと、私のマクロは次の式を作成します。

=VLOOKUP(I9,'B3':'D8',2)

マークを'取り除くと、マクロは完全に機能します。

4

1 に答える 1

3

これは、R1C1 スタイルと A1 スタイルを組み合わせて使用​​しているためです。これはあなたがしようとしていることですか?

ActiveCell.Formula = "=VLOOKUP(" & ActiveCell.Offset(,-2).Address & _
                     "," & myRange & ",2)"
于 2012-07-05T21:31:16.957 に答える