Brad Marks
BradM at blackforestltd.com
Thu Jul 14 07:27:54 CDT 2011
All, I am just starting to experiment with Access/Excel Automation Through a process of trial and error I have developed a small test Access application that is able to build a simple Excel Pivot Table. Building and viewing the Pivot Table works nicely the first time I execute the Access VBA code. If I exit Access and get back in again, things work nicely. However, when I try to execute the code more than one time (without getting out of Access), I receive Error 91 - "Object Variable or With block variable Not Set". I have tried many things but I cannot figure out how to prevent this error. I must be missing something. Below is the code that I am using. Thanks for your help with this. Brad ~~~~~~~~~~~~~ Dim XLApp As Excel.Application Dim XLWorkbook As Excel.Workbook Dim XLSheet As Excel.Worksheet Set XLApp = CreateObject("Excel.Application") XLApp.Visible = True Set XLWorkbook = XLApp.Workbooks.Add Set XLSheet = XLWorkbook.Sheets(1) XLSheet.Cells(1, 1).Value = "State" XLSheet.Cells(2, 1).Value = "MN" XLSheet.Cells(3, 1).Value = "WI" XLSheet.Cells(4, 1).Value = "SD" XLSheet.Cells(5, 1).Value = "ND" XLSheet.Cells(1, 2).Value = "Sales_Amt" XLSheet.Cells(2, 2).Value = "200" XLSheet.Cells(3, 2).Value = "300" XLSheet.Cells(4, 2).Value = "400" XLSheet.Cells(5, 2).Value = "500" ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R1C1:R5C2", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="Sheet1!R9C1", TableName:="PivotTable3", DefaultVersion _ :=xlPivotTableVersion12 Sheets("Sheet1").Select Cells(9, 1).Select ActiveSheet.PivotTables("PivotTable3").PivotFields("State").Orientation = xlRowField ActiveSheet.PivotTables("PivotTable3").PivotFields("State").Position = 1 ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables( _ "PivotTable3").PivotFields("Sales_Amt"), "Sum of Sales_Amt", xlSum Set XLApp = Nothing Set XLWorkbook = Nothing Set XLSheet = Nothing ~~~~~~~~~~~~~ End of Code ~ ~~~~~~~~~ The Error 91 is issued on this statement on the "Second Execution" ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Sheet1!R1C1:R5C2", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="Sheet1!R9C1", TableName:="PivotTable3", DefaultVersion _ :=xlPivotTableVersion12 ~~~~~~~~~~~~