[英]Excel: Copy-paste rows in between sheets depending on multiple criteria
到目前為止,感謝您的評論,它幫助我更好/不同地提出了我的問題。
我有兩個工作表Sheet1和Sheet2 。
Sheet1包含約100,000行的5列, Sheet2應該包含Sheet1的子組,具體取決於Sheet1中的行是否在某些列中包含某些值。
這是我到目前為止的代碼。 VBA某種程度上不會給我任何錯誤,但是代碼也不會運行,這使得很難找到可能的解決方案。 有任何想法嗎?
Sub CopyRows()
Dim r As Integer
Dim cell As Range
r = 2
For Each cell In Selection
If Application.WorksheetFunction.IsNA(Sheets("Sheet1").Cells(r, 1)) = False Then
If Sheets("Sheet1").Cells(r, 3) = "Product1" or "Product2" Then
If Sheets("Sheet1").Cells(r, 5) = "2011" or "2012" Then
If Sheets("Sheet1").Cells(r, 4) > 0 Then
cell.EntireRow.Copy Destination:=activesheet.Rows(r)
r = r + 1
End If
End If
End If
End If
Next cell
End Sub
對於這種合並,我的第一個選擇是數據透視表。 在你的情況下
最終加上一個過濾器以排除空鍵字段。
如果將工作表1排列為在第1行中只有一個標題行,則可以選擇整個列(例如$ A:$ D)作為數據透視表的輸入范圍,並且刷新后,其他任何行都將包含在數據透視表中。
當然,數據透視表可以排序,過濾,小計等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.