| 
    
     |  | ▼Kein さん: ありがとうございました。
 おかげさまでうまく処理ができました。
 
 お手数ですが、もしよろしければ、ピボットテーブルについて
 教えていただきたいのですが、
 1.アクセスのクエリで抽出したデータをExcelに展開し、
 ファイルを作成。>外部加工費のファイル名で保存。
 2.外部加工費のファイルの外部加工費SheetをCopyして
 3.加工費月報の"Access"Sheetに値で貼り付けた後、
 4.ピボットテーブルを作成してこのデータを"加工_集計"Sheetに
 値で貼り付けるようにしようと考え、以下のように
 コマンドを記述したのですが、
 実行時エラー'1004'
 そのピボットテーブルのフィールド名は正しくありません。
 ----------
 と表示されうまく動作しません。
 お時間がございましたら教えてください。
 
 Option Explicit
 Dim データ As String        'データベースのシート名
 Dim ピボット As String       'ピボットテーブルのシート名
 Dim ブック名 As String       'このブックの名前
 Private ソース As String      'ソースデータの範囲
 Private テーブル先 As String    'ピボットテーブル作成先
 Private テーブル名 As String    'ピボットテーブルの名前
 Private 下端 As Integer       '下端の行数
 Sub KD01_Accessよりデータ作成()
 '
 ' D01データ作成 Macro
 ' マクロ記録日 : 2007/4/11 ユーザー名 : FHaraguchi
 '
 
 '
 Application.ScreenUpdating = False
 
 Sheets("Access").Select
 Cells.Select
 Selection.Clear
 
 Workbooks.Open Filename:="X:\_売上報告関連\外注加工集計.xls"
 Cells.Select
 Selection.Copy
 Windows("01月加工費支払月報.xls").Activate
 Sheets("Access").Select
 Range("A1").PasteSpecial Paste:=xlValues
 ピボットテーブルを作成する
 ActiveWorkbook.ShowPivotTableFieldList = True
 ActiveWorkbook.ShowPivotTableFieldList = False
 Application.CommandBars("PivotTable").Visible = False
 
 
 Sheets("加工_集計").Select
 
 Cells.Select
 Selection.Clear
 Sheets("ピボット").Select
 Cells.Select
 Selection.Copy
 Sheets("加工_集計").Select
 Range("A1").PasteSpecial Paste:=xlValues
 Application.CutCopyMode = False
 Rows("1:1").Select             '1行目削除
 Selection.Delete Shift:=xlUp
 
 Windows("外注加工集計.xls").Activate
 ActiveWindow.Close
 Windows("01月加工費支払月報.xls").Activate
 Sheets("メイン").Select
 Range("H30").Select
 Range("H30") = "外注加工費の取込が完了しました。"
 End Sub
 Private Sub ピボットテーブルを作成する()
 
 ブック名 = ActiveWorkbook.Name       'このブックの名前
 データ = "Access"               '※2 データベースのシート名
 ピボット = "ピボット"
 Sheets(ピボット).Select
 Cells.Select
 Selection.Clear        'すべてクリア
 
 Sheets(データ).Select
 下端 = Range(Cells(1, 1), Cells(1, 1)).End(xlDown).Row '下端検出
 Range("A1").Select
 
 ソース = データ & "!R1C1:R" & 下端   '
 テーブル先 = "[" & ブック名 & "]" & ピボット & "!R1C1"
 テーブル名 = "加工費"
 ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
 ソース, TableDestination:=テーブル先, TableName:=テーブル名
 ActiveSheet.PivotTables(テーブル名).AddFields RowFields:="元請名", _
 ColumnFields:="作業員1"
 ActiveSheet.PivotTables(テーブル名).PivotFields("合計 の 合計の合計").Orientation _
 = xlDataField
 End Sub
 
 
 |  |