簡體   English   中英

Excel:根據多個條件在工作表之間復制粘貼行

[英]Excel: Copy-paste rows in between sheets depending on multiple criteria

到目前為止,感謝您的評論,它幫助我更好/不同地提出了我的問題。

我有兩個工作表Sheet1Sheet2
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM