當前位置:成語大全網 - 書法字典 - Excel VBA比較兩個表格之間的差異?

Excel VBA比較兩個表格之間的差異?

如果妳的數據是正規的,用VBA會很快:(請用副本測試!!沒問題,那就把結果存成原來的吧!!)

測試完成後:在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感嘆號。

末端接頭