宏没有看到其他工作簿的工作表?
问题描述:
我有以下代码:宏没有看到其他工作簿的工作表?
Dim StartCell3 As Range
Dim DataRange3 As Range
Set StartCell3 = Range("A1")
Set DataRange3 = StartCell3.CurrentRegion
DataRange3.Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=DataRange3, Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="Stocks!R1C6", TableName:="PivotTable8", DefaultVersion _
:=xlPivotTableVersion15
Sheets("Stocks").Select
Cells(1, 6).Select
With ActiveSheet.PivotTables("PivotTable8").PivotFields("Material")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable8").AddDataField ActiveSheet.PivotTables(_
"PivotTable8").PivotFields("Unrestricted"), "Sum of Unrestricted", xlSum
Range("F6").Select
With ActiveSheet.PivotTables("PivotTable8")
.ColumnGrand = False
.RowGrand = False
End With
当涉及到表(“股份”)选择,它给标超出范围错误。它在模块上工作时不会给出任何错误,但是我创建了一个启用宏的工作簿并插入了使用此宏指定的按钮。
主要的问题是,从我创建的宏中,正常情况下工作代码位于此工作簿代码部分。因此,它只有sheet1,没有sheet2或其他一些工作表名称。为什么会出现错误?为什么工作簿无法识别其他工作簿?
答
您正在运行宏的工作簿中的工作表是否为“库存”?
如果不是你需要告诉Excel的该工作簿是在
例如:
Workbooks("name of workbook where the sheet is").Activate
Sheets("Stocks").Select
虽然不建议您使用激活或选择,因为这可能会导致意想不到的运行时间错误。请参阅以下内容:How to avoid using Select in Excel VBA macros
我已经激活它之前做了一些操作,在我给它的代码中工作,直到表(“股票”)选择。 现在,它运行时,我从我运行宏的工作簿中创建的模块运行宏。但是,当我将Excel发送给其他人时,它还包含模块和代码,但是当尝试从按钮运行时,它会给出错误“无法运行宏.......”。 – hakandeep
查看此帮助主题以查看如果这解决了问题,因为它听起来像他们没有通过选择启用内容启用宏。 [https://support.microsoft.com/en-us/kb/930076] –
我启用了,这不是问题,但感谢您的帮助 – hakandeep