|
いつもこちらを拝見し、勉強しております。
何がどうおかしいのか分からないので、ご教授頂けたら幸いです。宜しくお願い
致します。
下記VBにて、ACCESSからEXCELに出力し、同時にピボットテーブル作成迄行っ
ております。
--------------------------------------------------------------------------
Set objexcel = CreateObject("Excel.Application")
objexcel.Visible = True
DoCmd.OutputTo acOutputTable, "XXXXX", acFormatXLS, "\XXXXX.XLS", True
Dim strDataRng As String
strDataRng = ActiveWorkbook.Worksheets("XXXXX").Range("A1").CurrentRegion.Address(, , xlR1C1)
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'XXXXX'!" & strDataRng).CreatePivotTable TableDestination:="", _
TableName:="ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("ピボットテーブル1").PrintTitles = True
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("XXXXX", _
"XX", "XXXXX", "XXX", "XXX"), ColumnFields:="XXXXX", PageFields:=Array("XXXXX" _
, "XXX", "XXX", "XXX")
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("XX")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("XX")
.Orientation = xlDataField
.Position = 2
End With
ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("粗利").Orientation = _
xlDataField
ActiveWorkbook.ShowPivotTableFieldList = False
'Application.CommandBars("PivotTable").Visible = False
ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "#,##0_ "
ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "'合計 / XX':'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "\#,##0;\-#,##0"
Range("A5").Select
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("XXXXX")
.PivotItems("XXXXX").Visible = False
End With
Sheets("Sheet1").Select
Sheets("Sheet1").Name = "XXXXX"
Sheets("XXXXX").Select
strDataRng = ActiveWorkbook.Worksheets("XXXXX").Range("A1").CurrentRegion.Address(, , xlR1C1)
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'XXXXX'!" & strDataRng).CreatePivotTable TableDestination:="", _
TableName:="ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("ピボットテーブル2").PrintTitles = True
ActiveSheet.PivotTables("ピボットテーブル2").AddFields RowFields:=Array("XXXXX", _
"XX", "XXX", "XXX", "XXX"), ColumnFields:="XXX", PageFields:=Array("XXX" _
, "XXX", "XXX", "XXX")
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("XX")
.Orientation = xlDataField
.Position = 1
End With
ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("XXX").Orientation = _
xlDataField
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWorkbook.ShowPivotTableFieldList = False
Application.CommandBars("PivotTable").Visible = False
ActiveSheet.PivotTables("ピボットテーブル2").PivotSelect "'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "#,##0_ "
ActiveSheet.PivotTables("ピボットテーブル2").PivotSelect "'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "\#,##0;\-#,##0"
Range("A5").Select
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("XX")
.PivotItems("XX").Visible = False
.PivotItems("XX").Visible = False
End With
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "XXX"
Exit_コマンド2_Click:
Exit Sub
Err_コマンド2_Click:
MsgBox Err.Description
Resume Exit_コマンド2_Click
End Sub
--------------------------------------------------------------------------
開発環境は、OS=XP,EXCEL=2002,ACCESS=2000
実際に動かす環境は、OS=98,EXCEL=2000,ACCESS=2000になります。
開発環境にて動作チェックを行ったところ、連続操作(抽出日等の条件を変え、
連続操作)を行った際に「オブジェクト変数またはwithブロック変数が設定され
ていません」のエラーが出力されてしまいます。(1回目の操作終了後、ACCESSを
一旦閉じて、再実行すると、問題ありませんでした)
実際に動かす環境にて動作チェックをしたところ、「オブジェクトは、このプロ
パティまたはメソッドをサポートしていません」とエラーが出力されてしまいま
す(この時は、1回目の操作でNGになります)
出来る限り頑張って、ここまでたどり着けたのですが、どうしても分かりません。初歩的な問題かも知れませんが、大変申し訳ありません。ご教授頂けると幸いです。
宜しくお願い致します。
|
|