Sunday, August 24, 2014

Excel Macro: Userform

Call Userform:
Sub OpenInputForm()
    UserFormInput.Show

End Sub

Userform Body:
Private Sub cmdbtnCancel_Click()
    ' Clear data fields and reset the form
    Me.formField1.Value = ""
    Me.formField2.Value = ""
    Me.formField3.Value = ""
    Me.formField4.Value = ""
    Me.formField5.Value = ""
    Me.formField6.Value = ""
    Me.formField1.SetFocus
    Unload Me
End Sub

Private Sub cmdbtnSave_Click()

Dim vColumn1 As Long
Dim StopRow1 As Long
    Dim vColumn2 As Long
    Dim StopRow2 As Long
        Dim vColumn3 As Long
        Dim StopRow3 As Long
Dim ws As Worksheet
 
    Set ws = DataTable

    ' Check for data in Field 1
If Trim(Me.formField1.Value) = "" Then
Me.formField1.SetFocus
MsgBox "Please enter data in Field 1!"
Exit Sub
End If
    ' Check for data in Field 2
If Trim(Me.formField2.Value) = "" Then
Me.formField2.SetFocus
MsgBox "Please enter data in Field 2!"
Exit Sub
End If
    ' Check for data in Field 3
If Trim(Me.formField3.Value) = "" Then
Me.formField3.SetFocus
MsgBox "Please enter data in Field 3!"
Exit Sub
End If
    ' Check for data in Field 4
If Trim(Me.formField4.Value) = "" Then
Me.formField4.SetFocus
MsgBox "Please enter data in Field 4!"
Exit Sub
End If
    ' Check for data in Field 5
If Trim(Me.formField5.Value) = "" Then
Me.formField5.SetFocus
MsgBox "Please enter data in Field 5!"
Exit Sub
End If
    ' Check for data in Field 6
If Trim(Me.formField6.Value) = "" Then
Me.formField6.SetFocus
MsgBox "Please enter data in Field 6!"
Exit Sub
End If
 
    ' Input the data in the Data Table
    If Me.formField2.Value = 0 Then
    Else
    StopRow1 = Me.formField2.Value
    For vColumn1 = Me.formField1.Value To StopRow1
        Cells(10, vColumn1).Value = "DC"
    Next
    End If
     
        If Me.formField4.Value = 0 Then
        Else
        StopRow2 = Me.formField4.Value
        For vColumn2 = Me.formField3.Value To StopRow2
            Cells(10, vColumn2).Value = "NDD"
        Next
        End If
     
            If Me.formField6.Value = 0 Then
            Else
            StopRow3 = Me.formField6.Value
            For vColumn3 = Me.formField5.Value To StopRow3
                Cells(10, vColumn3).Value = "NDDP"
            Next
            End If
     

    'ws.Cells(vNewRow, 1).Activate
    ' Clear all fields and reset the form
    Me.formField1.Value = ""
    Me.formField2.Value = ""
    Me.formField3.Value = ""
    Me.formField4.Value = ""
    Me.formField5.Value = ""
    Me.formField6.Value = ""
    Me.formField1.SetFocus

End Sub

Userform Layout







No comments:

Post a Comment