2016-08-23 3 views
0

У меня есть следующий код:Macro не видит другие листы книги?

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 

Когда дело доходит до Sheets («Акции») выберите, это дает подстрочный из ошибок диапазона.. Он не дает никаких ошибок при работе над модулем, но я создал книгу с поддержкой макросов и вставил кнопку, назначенную этим макросом.

Основная проблема заключается в том, что с моего созданного макроса рабочий код находится в этом разделе кода книг, как обычно. Поэтому он имеет только лист1, не имеет sheet2 или другого имени листа. Почему это дает ошибку? Почему книга не может распознать другую книгу?

ответ

0

Является ли лист «Запасы» в книге, что вы используете макрос?

, если вам не нужно будет сказать первенствует, которые УПРАЖНЕНИЯ это в

. Например:

Workbooks("name of workbook where the sheet is").Activate 
Sheets("Stocks").Select 

Хотя не рекомендуется использовать активировать или выбрать, так как это может привести к неожиданному время работы ошибки. См. Следующее: How to avoid using Select in Excel VBA macros

+0

Я уже активировал его, прежде чем делать какие-либо операции, в коде, который я дал ему, до тех пор, пока не будет листе («Запасы»). Теперь он работает, когда я запускаю макрос из модуля, который я создал в книге, с которой я запускаю макрос. Но когда я отправляю excel кому-то еще, он также содержит модуль и код, но при попытке запустить его с помощью кнопки он дает ошибку «не удается запустить макрос .......» – hakandeep

+0

Просмотрите эту тему справки, чтобы увидеть если это устраняет проблему, поскольку кажется, что они не включили макросы, выбрав разрешающий контент. [https://support.microsoft.com/en-us/kb/930076] –

+0

Я включил, это была не проблема, но спасибо за вашу помощь – hakandeep

Смежные вопросы