最終更新日: 2019 年 4 月 10 日
問題
Excel for Mac では、新しい Visual Basic Editor が 2017 年 10 月に導入されました。 この新しい VB エディターを使用して、コード ウィンドウの上部にあるドロップダウン メニューから選択して、オブジェクト宣言を作成すると問題が発生します。
左側のドロップダウンをクリックして一覧からアイテムを選択する場合は、右側のドロップダウン リストで選択されているイベントのコードを入手する必要があります。 右側のドロップダウン リストから追加で選択して、選択されたイベントを処理するための追加コードを作成することができます。
代わりに、コードが作成されていないというエラーが発生します。
状態: 回避策
この問題に対して、次の回避策のいずれかを選択します。
回避策 1
Excel for Windows を実行しているコンピューターと同様の手順を実行して、コードを Excel for Mac へコピーすることができます。
回避策 2
MSDN にアクセスして使用するイベントの構文を検索し、VBA プロジェクトに手動でコードを入力することができます。 この記事では、Microsoft Excel の "ブック" イベント - ブック イベントについて説明します。
回避策 3
次のサンプルから適切なイベント コードをコピーし、VBA プロジェクトに貼り付けます。 イベントごとに、"Private Sub..." から "End Sub" までを含めてコピーするようにしてください。
Private Sub Workbook_Activate()
End Sub
Private Sub Workbook_AddinInstall()
End Sub
Private Sub Workbook_AddinUninstall()
End Sub
Private Sub Workbook_AfterRemoteChange()
End Sub
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
End Sub
Private Sub Workbook_BeforeClose(Boolean として取り消す)
End Sub
Private Sub Workbook_BeforePrint(Boolean として取り消す)
End Sub
Private Sub Workbook_BeforeRemoteChange()
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
End Sub
Private Sub Workbook_Deactivate()
End Sub
Private Sub Workbook_NewChart(ByVal Ch As Chart)
End Sub
プライベート サブ Workbook_NewSheet(ByVal Sh As オブジェクト)
End Sub
Private Sub Workbook_Open()
End Sub
プライベート サブWorkbook_PivotTableCloseConnection (ピボットテーブルとしての ByVal ターゲット)
End Sub
プライベート サブWorkbook_PivotTableOpenConnection (ピボットテーブルとしての ByVal ターゲット)
End Sub
Private Sub Workbook_RowsetComplete(ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean)
End Sub
プライベート サブ Workbook_SheetActivate(ByVal Sh As オブジェクト)
End Sub
Private Sub Workbook_SheetBeforeDelete(ByVal Sh As オブジェクト)
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As オブジェクト、ByVal Target As Range、Cancel as Boolean)
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As オブジェクト、ByVal Target As Range、Cancel as Boolean)
End Sub
プライベート サブ Workbook_SheetCalculate(ByVal Sh As オブジェクト)
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As オブジェクト、ByVal Target As Range)
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As オブジェクト)
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As オブジェクト、ByVal Target as Hyperlink)
End Sub
Private Sub Workbook_SheetPivotTableAfterValueChange(ByVal Sh As オブジェクト、ByVal TargetPivotTable As PivotTable、ByVal TargetRange As Range)
End Sub
Private Sub Workbook_SheetPivotTableBeforeAllocateChanges(ByVal Sh As オブジェクト、ピボットテーブルとしての ByVal TargetPivotTable、ByVal ValueChangeStart As Long、ByVal ValueChangeEnd As Long、Cancel as Boolean)
End Sub
Private Sub Workbook_SheetPivotTableBeforeCommitChanges(ByVal Sh As オブジェクト、ピボットテーブルとしての ByVal TargetPivotTable、ByVal ValueChangeStart As Long、ByVal ValueChangeEnd As Long、Cancel as Boolean)
End Sub
Private Sub Workbook_SheetPivotTableBeforeDiscardChanges(ByVal Sh As オブジェクト、ByVal TargetPivotTable As PivotTable、ByVal ValueChangeStart As Long、ByVal ValueChangeEnd As Long)
End Sub
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As オブジェクト、ByVal Target As PivotTable)
End Sub
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As オブジェクト、ByVal Target As PivotTable)
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As オブジェクト、ByVal Target As Range)
End Sub
プライベート サブ Workbook_SheetTableUpdate(ByVal Sh As オブジェクト、ByVal Target As TableObject)
End Sub
Private Sub Workbook_Sync(ByVal SyncEventType As Office.MsoSyncEventType)
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
End Sub
Private Sub Workbook_WindowResize(ByVal Wn As Window)
End Sub