VBA – ActiveWindow.WindowState

Written by

Editorial Team

Reviewed by

Steve Rynearson

Last updated on July 19, 2021


There are three different WindowSates that a worksheet can have; Minimized, Maximized, and Normal. You can set the window state with one of these lines of code:

ActiveWindow.WindowState = xlMinimized

ActiveWindow.WindowState = xlMaximized

ActiveWindow.WindowState = xlNormal

And of course, once you can program a visual element you can throw in a loop and create an “animated effect”. The following would be an interesting effect possibly when unhiding a worksheet.

This macro will gradually resize a worksheet from small to Maximized, making the worksheet appear to be growing:

Sub SheetGrow()

Dim x As Integer

With ActiveWindow

    .WindowState = xlNormal

    .Top = 1

    .Left = 1

    .Height = 50

    .Width = 50


    For x = 50 To Application.UsableHeight

    .Height = x

    Next x


    For x = 50 To Application.UsableWidth

    .Width = x

    Next x


    .WindowState = xlMaximized

End With

End Sub

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro – A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

alt text

Learn More!

<<Return to VBA Examples


VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples