簡體   English   中英

Excel vba 自動填充編碼

[英]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.

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