我有2张主要张("孩子"和#34;父母")和另外3张用于数据输入的张。我想要的代码是从A列到L列复制3张纸的值,并根据D列中选择的值将它们传输到主页。所以,如果我将数据插入3张中的一张,我在D" kids"列中有一个值它应该转移到SHEET" KIDS"如果我选择价值"父母"数据应该转到表格#34;父母"。在任何情况下,我都希望它删除重复项,而不是每次打开文件时都复制相同的数据。
Private Sub Workbook_Open()
Dim i As Long, lastRow As Long, ws As Worksheet
Sheets("Kids").Range("A3:L500").ClearContents
For Each ws In Worksheets
If ws.Name <> ("Kids") Then
ws.Activate
lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, "D").Value = "Kids" Then
Rows(i).Copy Destination:=Sheets("Kids").Range("A" & Rows.Count).End(xlUp).Offset(1)
ElseIf ws.Cells(i, "D").Value = "Parents" Then
Rows(i).Copy Destination:=Sheets("Parents").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
End If
Next ws
End Sub
所以这是我使用过的代码,但它并没有删除主要表格和#34;父母&#34;的重复数据。出了点问题......
答案 0 :(得分:0)
你的问题并没有传达@Nicolas提到的问题的全部情况。但是,为了帮助您解决问题,请转到@fbonetti在以下主题中发布的代码,以删除重复项。
[delete-all-duplicate-rows-excel-vba:] Delete all duplicate rows Excel vba
进一步根据条件将复制数据传输到另一个Excel工作簿使用VBA执行以下操作: 1.使用循环过程基于文本标准和日期标准或条件识别工作簿表中的数据 2.选择满足两个或多个条件的特定数据 3.复制已识别的数据 4.打开另一个工作簿 5.在工作簿中的特定工作表中查找第一个空白行 6.将数据粘贴到标识的空白或空行 - erow中 7.保存工作簿 8.关闭工作簿 浏览下面提到的链接。 http://www.exceltrainingvideos.com/copy-data-to-another-excel-workbook-based-on-criteria-using-vba/
HTH