私は "Introduction"シートに関連付けられたマクロを持っています。セルの変更によってトリガされ、別のワークシート「TimeInLibraryData」を操作する2番目のマクロが呼び出されます。それはかなり簡単です:マクロがワークシートに関連付けられている場合、Excel 2016では、VBAは代替ワークシートをアクティブにしません
ます。Private Sub Worksheet_Change(ByValの対象を範囲)
Sheets("TimeInLibraryData").Visible = True
Sheets("TimeInLibraryData").Activate
MsgBox "The name of the active sheet is " & ActiveSheet.Name
Call CreateTimeLine.CreateTimeLine1(1)
End Subの
ます。Public Sub CreateTimeLine1(ロングとしてPickSingleLib)
Sheets("TimeInLibraryData").Activate
MsgBox "The name of the active sheet is " & ActiveSheet.Name
End Subの
アクティブシート名を出力しています。問題は両方の場所で、私はActiveSheetが "TimeInLibraryData"であるべきであるときに "Introduction"シートであることがわかります。
アプリケーションはExcel 2010で書かれています。見た。
通常の実行時にCreateTimeLine1マクロにアクセスすると、Excel 2016で実行されますが、動作します。 「Introduction」ワークシートに変更を加えた後、マクロが呼び出されたときにのみ問題が発生します。
私はVBA 2016でカットダウンの例を作成し、期待通りに動作することを確認しました。また、Excel 2010でシンプルなサンプルを作成し、Excel 2016で実行しました。
だから - 私は、最新のパッチを使用してExcel/VBAで正しく2016
興味深い - 私は、呼び出し関数でApplication.EnableEventsを設定しましたが、設定はサブに持ち込まれませんでした。サブに追加することで問題は解決しました。ありがとう – Coopermancm