根据第一个工作表中不存在的条件,将特定单元格从工作表复制到另一个单元格

时间:2019-05-31 05:10:55

标签: excel vba

用于验证“第二个工作表”上的“客户ID”,然后复制新的“客户ID”并将其放在具有所有“客户ID”列表的第一张工作表上的VBA代码。 类似于工作表2上的IF CID,而不是工作表1上的IF CID,然后从工作表2的列C复制这些新的CID,并将其放在工作表E中列E的最后一个空单元格中。(请注意,列E,C包含CID,列F,J包含说明)。请注意,sheet1数据单元格从第8行开始,sheet2数据单元格从第17行开始。感谢您的支持,我有200个来自不同区域的客户ID,希望每次将它们转移到一个大工作表(Sheet1)上,以保持最新状态日期。

Sub Copy()
Dim i As Long, j As Long, lastrow1 As Long, lastrow2 As Long
Dim cid As String
lastrow1 = Sheets("sheet1").Range("e" & Rows.Count).End(xlUp).Row 
For i = 8 To lastrow1 
cid = Sheets("sheet1").Cells(i, "e").Value 
Sheets("sheet2").Activate
lastrow2 = Sheets("sheet2").Range("c" & Rows.Count).End(xlUp).Row 
For j = 17 To lastrow2
If Sheets("sheet2").Cells(j, "A").Value = cid Then 
Sheets("sheet2").Activate
Sheets("sheet2").Range(Cells(i, "c"), Cells(i, "c")).Copy  
Sheets("sheet1").Activate
Sheets("sheet1").Range(Cells(j, "e"), Cells(j, "c")).Select 
ActiveSheet.Paste
End If 
Next j  
Application.CutCopyMode = False
Next i 
End Sub

我正在尝试使用“ for next”循环,以确保仅当在第二个工作表范围内未找到CID时,这些新的CID才会从sheet2范围转移到sheet1范围。也是最后一行。

我在网上找到了此代码,并进行了一些修改,但由于结果和范围不同,因此仍然无法正常工作。非常感谢。

0 个答案:

没有答案