[英]Excel vba autofill coding
我目前正在使用 vba 執行以下任務。 所以我從 sheet1 復制數據並將其粘貼到 sheet2 中。 sheet2中已經有數據,所以我粘貼在現有數據下方。 現在我需要執行 vlookup 以將數據從 sheet3 獲取到 sheet2 的某些列,因此 vlookup 會將數據發送到 sheet2 上現有數據下方的數據。 我有以下代碼
Range(“F1”).End(xldown).Offset(1).Select
ActiveCell.FormulaR1C1 = “=Vlookup(RC[7],Monitor_Report[#All],4,FALSE)”
ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & “:” & ActiveCell.End(xlDown).Offset(-1,0).Address)
所以目前即使如此,下一行也沒有數據,它仍然會自動填充並在首先發生 vlookup 的單元格之后導致 #N/A 。 如果下一行沒有數據,我不希望自動填充發生。 誰能幫我修改這段代碼?
如果您打算使用.Select
和.AutoFill
的手動方式,我只需在您的公式中添加一個IFNA
語句:
Sub test()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
ws.Range("F1").End(xlDown).Offset(1).Select
Dim fRow As Long
With ws
fRow = .Cells(.Rows.Count, ws.ListObjects("Monitor_Report").DataBodyRange.Column).End(xlUp).Row
fAdr = ActiveCell.Column
End With
adr_ = ws.Cells(fRow, fAdr).Address
ActiveCell.Value = "=IFNA(VLOOKUP(M3,Monitor_Report[#All],4,FALSE),"""")" '
ActiveCell.AutoFill Destination:=ws.Range(ActiveCell.Address & ":" & adr_)
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.