你如果工作表2原本存在只是空白,把值是貼上去
你可以插一個圖型當按鈕,指定巨集給按鈕,當按下按鈕在執行
如果原本工作表2不存在就把按鈕放在工作表1
VBA的寫法我是利用迴圈
Sub 檢查並刪除()
Dim Eng as Range
Dim i as Integer, r as Integer
Application.ScreenUpdating = False
'取工作表2的值
sheets(2).Select
For i = 1 to Sheets(2).Range("A1048576").End(xlup).Row
'有標題就改 i = 2
Eng = Cells(i, "A")
'跟工作表1比對
sheets(1).Select
For r = 1 to Sheets(1).Range("A1048576").End(xlup).Row
'有標題就改 r = 2
'如果有就跳下一個
If cells(r, "A")=Eng then
goto 25
End If
next r
'沒有就刪掉
sheets(2).Select
Cells(i, "A") = ""
25:
next i
Application.ScreenUpdating = True
End Sub
不過我的應該比較吃資源,自學VBA僅供參考
※因為不清楚版主的資料是什麼型態?
不知道是否會完全相同?
所以不敢用Vlookup來寫函數檢查
因為有可能發生判別錯誤 例如 '1 <> 1
在vba中不是用vlookup 函數.
要用 Selection.Find
範例:
Set iti = Selection.Find(What:=ItemCode, After:=ActiveCell, LookIn:=xlFormulas,
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False)
ItemCode : 搜尋值
Vlookup很好用,我當初也是爬文自己摸了一天才學會(資質愚鈍),後來知道訣竅時候只花了10分鐘就教會同事