測試完成後:在sub後的代碼前添加application . screen updating = false,在Msgbox前添加application . screen updating = true?快點!!
-
Sub刪除表a中相同的數據行()。
出錯時轉到退出
申請。ScreenUpdating = False
。。。(原代碼部分)
申請。ScreenUpdating = True
MsgBox“比較完畢~ _ ~_~”,VB感嘆號。
退出:
出錯時轉到0
申請。ScreenUpdating = True
末端接頭
-
以下無應用。屏幕更新,會慢壹些:
Sub刪除表a中相同的數據行()。
前提是數據要有規律。
假設將表A的C\D\J列數據與表B的B\C\F列數據進行比較,數據順序相同,
也就是c對b?d到C J到f
想法:EXCEL本身不用VBA也能引用,這麽快!!
此工作簿。使活動
Dim BiaoA作賓語,BiaoB作賓語
Dim RowStart & amp羅文達& amp,RowEndB & amp,我& amp數據起始行和結束行
昏暗的貢士美元
Dim CLA作為範圍,CLB作為範圍
set BiaoA = Sheets(" Table A ")' " Table A "被替換為工作表A的實際名稱
set BiaoB = Sheets(" Table B ")' Table B "被替換為B工作表的實際名稱。
RowStart = 1 '如果有標頭,請將其更改為2。
RowEndA = BiaoA。單元格(行。數數,“C”)。結束(xlUp)。排
RowEndB = BiaoB。單元格(行。數數,“B”)。結束(xlUp)。排
BiaoA。使活動
列(" A:A ")。插入
貢士= " = D " & ampRowStart & amp“& ampE " & ampRowStart & amp“& ampK " & ampRowStart
因為臨時插入了壹個列:C-D-J相應地變成了D-E-K。
單元格(RowStart,“A”)。公式=貢士
單元格(RowStart,“A”)。復制
範圍(單元格(RowStart," A ")、單元格(RowEndA," A "))。挑選
ActiveSheet。粘貼
選擇。復制
選擇。選擇性粘貼:=xlPasteValues
BiaoB。使活動
列(" A:A ")。插入
貢士= " = C " & ampRowStart & amp“& ampD " & ampRowStart & amp“& ampG " & ampRowStart
因為臨時插入了壹個列:B-C-F相應地變成了C-D-G。
單元格(RowStart,“A”)。公式=貢士
單元格(RowStart,“A”)。復制
範圍(單元格(RowStart," A ")、單元格(RowEndB," A "))。挑選
ActiveSheet。粘貼
選擇。復制
選擇。選擇性粘貼:=xlPasteValues
對於範圍內的每個CLA(BiaoA。單元格(RowStart,“A”),BiaoA。單元格(RowEndA,“A”))
對於範圍內的每個CLB(BiaoB。單元格(RowStart,“A”),BiaoB。單元格(RowEndB," A "))
如果中情局。價值= CLB。價值然後BiaoA。行(CLA。排)。清除內容
然後
然後
BiaoB。使活動
列(" A:A ")。刪除
BiaoA。使活動
for I = RowEndA To RowStart Step-1
If Len(單元格(I,“A”)。Value) = 0,然後是RowS(i)。刪除
然後
列(" A:A ")。刪除
設置BiaoA =無
設置BiaoB =無
MsgBox“比較完畢~ _ ~_~”,VB感嘆號。
末端接頭