可以說我有兩片,薄板1和表2Excel的VBA - 刪除/記錄從片材複製到另一個
我在Sheet四列並且在片材3個類似的列標題2.
如果在工作表2中找不到工作表1中的記錄,它將被刪除。
從片材2的記錄被複制到片材1,如果它不是已存在於片1
Sheet 1中我有以下列
Name Age Gender Group
I 25 M A1
A 24 M B1
M 23 M C1
E 23 M D1
在表2中,我有下面列
Name Age Gender
F 25 M
A 24 M
M 23 M
而且我的輸出必須在Sheet1:
Name Age Gender Group
A 24 M B1
M 23 M C1
F 25 M
注意:每個記錄每次按照名稱,年齡和性別的組合而不僅僅是名稱而被刪除/複製。
我創建了一個使用VBA的連接列,現在失去了想法。
For j = 2 To lastrow
strA = Sheets(TabName).Range("A" & j).Value
strB = Sheets(TabName).Range("B" & j).Value
StrC = Sheets(TabName).Range("C" & j).Value
Range(CombinedKeyColLet & j).Value = Application.WorksheetFunction.Concat(strA & strB & StrC)
Cells.Select
Selection.Columns.AutoFit
Next
'Copy or Delete code
'--------------------------------'
下面是代碼,我正在用在錯誤的方法
CombinedKeyCol = WorksheetFunction.Match("CombinedKey", Sheets(TabName1).Rows(1), 0)
CombinedKeyColLet = GetColumnLetter(CombinedKeyCol)
For i = lastrow To 2 Step -1
Sheets(TabName2).Activate
CombinedKeyVal = Range(CombinedKeyColLet & i).Value
On Error GoTo Jumpdelete
Present = WorksheetFunction.Match(CombinedKeyVal, Sheets(TabName1).Columns(6), 0)
If Present <> "" Then
GoTo Jumpdontdelete
End If
Jumpdelete:
Sheets(TabName2).Activate
Rows(i & ":" & i).Delete
Present = ""
Jumpdontdelete:
Present = ""
Next
輸出到Sheet1或Sheet2?您指定Sheet1,但這看起來不正確,因爲您完全刪除了「Group」列。 –
輸出在sheet1 – Sid29
I和M項目會發生什麼?他們爲什麼不出現在輸出中? –