2012-07-05 57 views
1

我有,將有來自將被組合在一起,許多數據源的數據的Excel工作表,以便根據需要來看待什麼的時候畸形VLOOKUP公式是上面你所看去所以會有很多在一張紙的單獨部分上的虛擬視角。試圖用Range.Formula財產

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)

如果我拿出'馬克宏觀完美。

回答

3

這是因爲您正在將R1C1樣式與A1樣式混合使用。這是你正在嘗試的嗎?

ActiveCell.Formula = "=VLOOKUP(" & ActiveCell.Offset(,-2).Address & _ 
        "," & myRange & ",2)" 
+0

這是完美的感謝! – user1505210 2012-07-06 12:25:18