Display a CommandBar centered on the screen using VBA in Microsoft Excel

With the macro below, you can display a CommandBar centered on the screen, both horizontally and vertically.
The macro also shows how you can get the screensize by using the function GetSystemMetrics32.

Declare Function GetSystemMetrics32 Lib "User32" _
    Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Sub CenterCommandBar()
Dim w As Long, h As Long
    w = GetSystemMetrics32(0) ' screenwidth in points
    h = GetSystemMetrics32(1) ' screenheight in points
    With CommandBars("MyCommandBarName")
        .Position = msoBarFloating
        .Left = w / 2 - .Width / 2
        .Top = h / 2 - .Height / 2
    End With
End Sub

Leave a Reply

Your email address will not be published. Required fields are marked *

Terms and Conditions of use

The applications/code on this site are distributed as is and without warranties or liability. In no event shall the owner of the copyrights, or the authors of the applications/code be liable for any loss of profit, any problems or any damage resulting from the use or evaluation of the applications/code.