目次:
ビデオ: 【Excel VBA】閉じているブックから値を転記 2024
ユーザーが特定のデータを入力せずにExcelワークブックを閉じることを望まない場合があります。このような状況では、ターゲットセルが塗りつぶされるまで(ここに示すように)、ユーザーにブックを閉じる機能を拒否すると便利です。これが、この気の利いたマクロが入る場所です。
特定のセルが入力されるまで閉じないようにします。マクロの仕組み
<! - 1 - >このコードはワークブックのBeforeCloseイベントによってトリガされます。ブックを閉じようとすると、このイベントが発生し、コードが実行されます。このマクロは、ターゲットセル(この場合はセルC7)が空であるかどうかを確認します。空の場合、クローズ処理はキャンセルされます。
Private Sub Workbook_BeforeClose(Boolean as Cancel)ステップ1:Sheets( "Sheet1")のセルC7が空白かどうかを確認します。範囲( "C7")。セルC7を空白にすることはできません "ステップ3:セルが空でない場合は、Else ActiveWorkbookを保存して閉じます。閉じるSaveChanges:=" Then "ステップ2:セルが空白の場合は、 True End If If End Sub
C7が空白の場合、ステップ1がチェックされ、C7が空白の場合、ステップ2が有効になり、Trueを渡して閉じるプロセスをキャンセルします。また、ステップ2では、セルC7が空白でない場合、ワークブックが保存されます。
マクロを使用する方法このマクロを実装するには、Workbook_BeforeCloseイベントコードウィンドウにコピーして貼り付ける必要があります。ここにマクロを配置すると、ブックを閉じるときに、 <! - 3 - >
Alt + F11を押してVisual Basic Editorをアクティブにします。
プロジェクトウィンドウでプロジェクト名またはワークブック名を見つけ、その隣のプラス記号をクリックしてすべてのシートを表示します。 > ThisWorkbookをクリックします。
イベントドロップダウンリストでBeforeCloseイベントを選択します。
新しく作成したモジュールにコードを入力するか貼り付けます。-
Workbook BeforeCloseイベントにコードを入力します。