簡體   English   中英

將工作表1 A列中的值匹配工作表2 A列中的值,如果找不到值,則刪除該行

[英]Match value from sheet 1 A column to sheet 2 A column and delete the row if A value is not found

“ Set fn = sh2.Range(“ A:A”)。Find(Range.Value,,xlValues,xlWhole)“行給我“ Range.Value”上出現錯誤“參數不可選”。

我希望代碼從最后一行移到頂部。 查看Sheet1的列A的值。 然后在Sheet2的A列中搜索它,如果在那里,則刪除Sheet 1上的整行。但是,我無法弄清楚語法/問題,還是有更好的方法來重寫該行?

謝謝!

完整代碼(已編輯):

Sub Isitthere()
Dim c As Long, LR As Long
Dim sh1 As Worksheet, sh2 As Worksheet, fn As Range
Set sh1 = Application.Sheets("Current") 'Edit sheet name
Set sh2 = Application.Sheets("MTD") 'Edit sheet name
LR = sh1.Range("A" & Rows.Count).End(xlUp).Row
For c = LR To 2 Step -1
    Set fn = sh2.Range("A:A").Find(sh1.Cells(c, 1).Value, , xlValues, xlWhole)
    If Not fn Is Nothing Then
            sh1.Cells(c.Row, Columns.Count).EntireRow.Delete
        End If
Next c
End Sub

Range.Value (實際上是Range().Value )不是有效的語法,因為Range()需要一個參數,而您沒有給它,這也會給.Find一個無效的參數。

Range.Value應該是sh1.Cells(c, 1).Valuesh1.Range("A" & c).Value

暫無
暫無

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

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