感谢您的评论到目前为止,它帮助我更好地/不同地制定了我的问题。
我有两张, 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
答案 0 :(得分:0)
对于此类合并,我的第一个赌注是数据透视表;在你的情况下
最后加上一个过滤器来排除空键字段。
如果您排列sheet1以便第1行中只有一个标题行,则可以选择整个列(例如$ A:$ D)作为数据透视表输入范围,并且任何其他行将包含在数据透视表中刷新。
当然,Pivot表可以进行排序,过滤,小计等等。