0

これまでのコメントに感謝します、それは私が私の質問をより良く/異なって定式化するのを助けました。

Sheet1Sheet2の2枚のシートがあります。
Sheet1の行に特定の列の特定の値が含まれているかどうかに応じて、Sheet1には5列の最大100,000行が含まれ、 Sheet2には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
4

1 に答える 1

0

このような統合の場合、私の最初の賭けはピボット テーブルです。あなたの場合

  • 垂直方向の会社と都市
  • 水平の製品(多すぎない場合)
  • 内部の値の数または合計

さらに、最終的に空のキー フィールドを除外するフィルター。

行 1 にヘッダー行が 1 つしかないようにシート 1 を配置すると、列全体 ($A:$D など) をピボット テーブルの入力範囲として選択でき、追加の行は更新時にピボットに含まれます。

もちろん、ピボット テーブルは並べ替え、フィルター処理、小計などを行うことができます。

于 2012-12-05T12:50:02.383 に答える