簡體   English   中英

VBA中的自動填充公式

[英]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))"

在公式中,您需要更改:

  1. 更改""""""
  2. $A$1更改為R1C1
  3. A:A更改為C1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM