[英]Autofill formula in VBA
我在Excel中具有以下公式,效果很好。 然后將此公式向下拖動到表格的底部。
=IF(OFFSET(OriginalData!$A$1,MATCH(TempTable!$A2,OriginalData!$A:$A,0)-1,2,1,1)=0,"",OFFSET(OriginalData!$A$1,MATCH(TempTable!$A2,OriginalData!$A:$A,0)-1,2,1,1))
我現在想將此添加到vba並嘗試以下操作:
Private Sub MatchViaEmployeeName()
With Worksheets("TempTable")
Set Usdrws = .Cells(.Rows.Count, 1).End(xlUp)
.Range(.Cells(1, 1), Usdrws.Offset(, 1)).FormulaR1C1 = "=IF(OFFSET(OriginalData!R1C1,MATCH(TempTable!RC[-1],OriginalData!$A:$A,0)-1,2,1,1)=0,"""",OFFSET(OriginalData!R1C1,MATCH(TempTable!RC[-1],OriginalData!$A:$A,0)-1,2,1,1))"
End With
End Sub
我的邏輯是使用“ Usdrws”變量選擇整個范圍,然后輸入公式。
我目前正在
運行時錯誤1004
您必須轉義公式中的語音標記,因為整個過程都在VBA中的語音標記中
.Range(.Cells(1, 1), Usdrws.Offset(, 1)).FormulaR1C1 = _
"=IF(OFFSET(OriginalData!$A$1,MATCH(TempTable!RC[-1],OriginalData!$A:$A,0)-1,2,1,1)=0,"""",OFFSET(OriginalData!$A$1,MATCH(TempTable!RC[-1],OriginalData!$A:$A,0)-1,2,1,1))"
在公式中,您需要更改:
""
到""""
式 $A$1
更改為R1C1
A:A
更改為C1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.