After many tries and tribulations I was able to finally minimize my application from a winform button. The code works perfectly:

```
    Private Sub btnMinWindow_Click(sender As Object, e As EventArgs) Handles btnMinWindow.Click

    'This procedure runs when the btnMinWindow is clicked.
    'The procedure minizmizes the form and Excel.

    Dim WB As Excel.Workbook = CType(Globals.ThisWorkbook.Application.ActiveWorkbook, Excel.Workbook)

    Me.WindowState = FormWindowState.Minimized
    WB.Application.WindowState = XlWindowState.xlMinimized

End Sub

```

So of course, what is minimize eventually needs to be maximize. So I assumed that all I had to do was right the same code only use xlMaximized. Of course, my assumption was wrong. here is my code:

```
    Private Sub btnMinEmployeeDashboard_Click(sender As Object, e As EventArgs) Handles btnMinEmployeeDashboard.Click

    'This procedure runs when the btnEmployeeDashboard button is clicked.

    Dim WB As Excel.Workbook = CType(Globals.ThisWorkbook.Application.ActiveWorkbook, Excel.Workbook)
    WB.Application.WindowState = XlWindowState.xlMaximized
    WB.Sheets("employeeBoard").Select()

    Me.Close()

End Sub

```

The code closes the form, selects the sheet, but it does not maximize my window. I think that what I have to do is to make the variable that has it "already minimize" available (in scope) to the button \_Click handler and use it instead of declaring a new variable. Unfortunately, if that is the case, I do not know how to do that.