在下面的代码中,我的公式以文本形式应用,无法计算。此外,自动填充不会增加单元格数量。我也尝试使用 ActiveCell.Value
Dim RowCount As Variant
Dim VRowStartNoMember As Variant
Dim FirstBlankCell As String
Windows("Compliancy_Previous.xlsm").Activate
Sheets("Previous").Select
RowCount = Range(("F1"), Range("F1").End(xlDown)).Rows.Count
Range("A2").Select
If IsEmpty(Range("A2").Value) = False Then
Range("A2").End(xlDown).Offset(1, 0).Select
End If
VRowStartNoMember = ActiveCell.Row
FirstBlankCell = "F" & VRowStartNoMember
ActiveCell.Formula = "=IFERROR(VLOOKUP(FirstBlankCall,Import!A:E,2,0),"""")"
ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":A" & RowCount)
答案1
看起来您正在尝试在公式中使用 VBA 变量 FirstBlankCell,但是您将变量名称嵌入字符串中而不是将其连接起来。
尝试这个:
Dim RowCount As Variant
Dim VRowStartNoMember As Variant
Dim FirstBlankCell As String
Windows("Compliancy_Previous.xlsm").Activate
Sheets("Previous").Select
RowCount = Range(("F1"), Range("F1").End(xlDown)).Rows.Count
Range("A2").Select
If IsEmpty(Range("A2").Value) = False Then
Range("A2").End(xlDown).Offset(1, 0).Select
End If
VRowStartNoMember = ActiveCell.Row
FirstBlankCell = "F" & VRowStartNoMember
ActiveCell.Formula = "=IFERROR(VLOOKUP(" & FirstBlankCell & ",Import!A:E,2,0),"""")"
ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":A" & RowCount)
不过,我认为您可能在代码方面遇到了其他问题(很难说出您想做什么),因此如果您遇到更多问题,请留下评论,我们可以共同解决。