0

私はdbからいくつかのデータを取得し、そのデータのピボットを作成するマクロを作成しています。しかし、これを行っている間に、いくつかのコメントで 1004 エラーが発生します。ここに私のコードがあります

     Sub CreatePivot()
     Dim objTable As PivotTable, objField As PivotField
     ActiveWorkbook.Sheets("data").Select
' data is name of the sheet 
     Range("A1").Select
    **Set objTable = Sheet1.PivotTableWizard**
     Set objField = objTable.PivotFields("name")
        objField.Orientation = xlRowField
        Set objField = objTable.PivotFields("location")
        objField.Orientation = xlRawField
        Set objField = objTable.PivotFields("blaa")
        objField.Orientation = xlRowField
        ' Specify a data field with its summary
        ' function and format.
        Set objField = objTable.PivotFields("money")
        objField.Orientation = xlDataField
        objField.Function = xlSum
        objField.NumberFormat = " #,##0"

        ' Specify a page field.
        'Set objField = objTable.PivotFields("GENDER")
        'objField.Orientation = xlPageField

        ' Preview the new PivotTable report.
        ActiveSheet.PrintPreview

        ' Prompt the user whether to delete the PivotTable.
        Application.DisplayAlerts = False
        If MsgBox("Delete the PivotTable?", vbYesNo) = vbYes Then
            ActiveSheet.Delete
        End If
        Application.DisplayAlerts = True

    End Sub

エラーは、実行時エラー '1004' が発生したことを示しています:- このコマンドには、少なくとも 2 行のソース データが必要です。このコマンドは、1 行のみの選択には使用できません。次のことを試してください: 高度なフィルターを使用している場合は、少なくとも 2 行のデータを含むセル範囲を選択します。次に、[高度なフィルター] コマンドをもう一度クリックします。ピボットテーブル レポートまたはピボットグラフ レポートを作成している場合は、[ここで終了] と入力します。

これがスタックしているコードですSet objTable = Sheet1.PivotTableWizard

新しいデータを取得して同じコードを使用すると、そのコードが機能します。ここでは、btn_click とその背後にある 2 つのマクロを使用して db からデータをフェッチします。1 つのマクロがデータを取得し、2 つ目のマクロが creat ピボットにあります。しかし、問題は来ています。誰でもこれを手伝ってもらえますか?

4

1 に答える 1