Excel VBA ウインドウのサイズが変わったときに処理をする-WindowResize

Excel VBAでブックのウインドウサイズが変わったときに、処理を実行する記録です。

ウインドウが変わったときに処理を実行するには「WindowResize」イベントを使います。

下図はExcel2016です。

< スポンサーリンク >





「WindowResize」イベント構文

Workbookオブジェクト.WindowResize(Wn)

ブックのウインドウサイズを変更したときに発生します。

Wn=必須。サイズを変更するウインドウを指定します。

 

「WindowResize」イベントの使用例

ウインドウが変わったときに処理を実行してみます。

VBEを開き、「TshiWorkbook」をダブルクリックします。

ExcelVBAウインドウサイズ

 

左側のオブジェクトボックスで「Workbook」を選択し、右側のプロシージャボックスで「WindowResize」を選択します。

ExcelVBAウインドウサイズ

 

「Private Sub Workbook_Open()」の部分は不要なので消します。

ExcelVBAウインドウサイズ

 

ウインドウのサイズが変更されたときに「ウインドウの大きさが変更されました」とメッセージを表示します。

Private Sub Workbook_WindowResize(ByVal Wn As Window)
    MsgBox “ウインドウの大きさが変更されました”
End Sub

ExcelVBAウインドウサイズ

 

ウインドウの大きさを変更してみます。

ExcelVBAウインドウサイズ

 

「ウインドウの大きさが変更されました」というメッセージが出てました。

ExcelVBAウインドウサイズ

 

ウィンドウのサイズを変更したときに、最大化ではない場合は、最大化するようにしてみます。

Private Sub Workbook_WindowResize(ByVal Wn As Window)
    If Wn.WindowState <> xlMaximized Then
        Wn.WindowState = xlMaximized
    End If
End Sub

ExcelVBAウインドウサイズ

 

ウインドウの大きさを変更してみます。

ExcelVBAウインドウサイズ

 

一瞬小さくなりましたが、すぐに最大化されました。

ExcelVBAウインドウサイズ

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします