0
は、私は次のコードを持っている:それはシート(「株式」)になるとマクロに他のブックのシートが表示されませんか?
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
を選択し、それが範囲エラー外の添字を与えます。モジュールで作業している間は何のエラーも出ませんが、マクロが有効なブックを作成し、このマクロを割り当てたボタンを挿入しました。
主な問題は、私の作成したマクロから、作業用コードが通常このブックのコードセクションにあることです。したがって、シート1のみを持ち、シート2またはその他のシート名を持っていません。なぜそれはエラーを出すのですか?なぜワークブックは他のワークブックを認識できないのですか?
私はすでにSheets( "Stocks")まで動作するコードで、いくつかの操作を行う前にそれを有効にしました。 これは、マクロを実行するブックで作成したモジュールからマクロを実行するときに機能します。しかし、他の誰かにExcelを送信すると、モジュールとコードも含まれますが、ボタンから実行しようとすると「マクロを実行できません.......」 – hakandeep
このヘルプトピックを参照してくださいこれにより、有効なコンテンツを選択してマクロを有効にしていないような問題が解決された場合。 [https://support.microsoft.com/en-us/kb/930076] –
私は有効にしましたが、それは問題ではありませんでしたが、あなたの助けに感謝します – hakandeep