Option Explicit
Dim Sh As Worksheet
Dim CurrentRow As Long
Dim MaxRows As Long
Dim lrow As Long
Dim ws As Worksheet
Dim iRow As Long
Private Sub UserForm_Initialize()
Range("A2").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(-1, 0).Activate
recnum.Value = ActiveCell.Value
SpinButton1.Value = recnum.Value
issuer.Value = ActiveCell.Offset(0, 1).Value
driver.Value = ActiveCell.Offset(0, 2).Value
so1.Value = ActiveCell.Offset(0, 3).Value
so2.Value = ActiveCell.Offset(0, 4).Value
so3.Value = ActiveCell.Offset(0, 5).Value
so4.Value = ActiveCell.Offset(0, 6).Value
so5.Value = ActiveCell.Offset(0, 7).Value
so6.Value = ActiveCell.Offset(0, 8).Value
so7.Value = ActiveCell.Offset(0, 9).Value
so8.Value = ActiveCell.Offset(0, 10).Value
so9.Value = ActiveCell.Offset(0, 11).Value
so10.Value = ActiveCell.Offset(0, 12).Value
location.Value = ActiveCell.Offset(0, 13).Value
purpose.Value = ActiveCell.Offset(0, 14).Value
checkno.Value = ActiveCell.Offset(0, 15).Value
expresscode.Value = ActiveCell.Offset(0, 16).Value
remarks.Value = ActiveCell.Offset(0, 17).Value
End Sub
Private Sub cmdAdd_Click()
Set ws = Sheet26
'''find first empty row in database
''iRow = ws.Cells(Rows.Count, 1) .End(xlUp).Offset(1, 0).Row
'revised code to avoid problems with Excel tables in newer versions
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
'check for a part number
If Trim(Me.recnum.Value) = "" Then
Me.recnum.SetFocus
'MsgBox "Please enter an ID Number; one will be suggested…"
recnum.Value = Format(Application.Max(ws.Range("A:A")) + 1, "000")
Exit Sub
'Test for blank entry
ElseIf issuer.Value = "" Then
MsgBox "Please select the Issuer", vbExclamation, "Sunrise Transport, Inc."
Exit Sub
ElseIf driver.Value = "" Then
MsgBox "Please select the Driver"
Exit Sub
ElseIf so1.Value = "" Then
MsgBox "Please enter a valid Sales Order Number"
Exit Sub
ElseIf location.Value = "" Then
MsgBox "Please select the Location"
Exit Sub
ElseIf purpose.Value = "" Then
MsgBox "Please select the Purpose"
Exit Sub
ElseIf checkno.Value = "" Then
MsgBox "Please enter a Check Number"
Exit Sub
ElseIf expresscode.Value = "" Then
MsgBox "Please enter a valid Express Code in the following format: ##### #### OR ##### #### ####"
Exit Sub
End If
'Prompt user before adding record
MsgBox "Add transaction?", vbOKOnly
' Find emtpy row
lrow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'Add data to worksheet
ws.Cells(lrow, "A") = recnum.Value
ws.Cells(lrow, "B") = issuer.Value
ws.Cells(lrow, "C") = driver.Value
ws.Cells(lrow, "D") = so1.Value
ws.Cells(lrow, "E") = so2.Value
ws.Cells(lrow, "F") = so3.Value
ws.Cells(lrow, "G") = so4.Value
ws.Cells(lrow, "H") = so5.Value
ws.Cells(lrow, "I") = so6.Value
ws.Cells(lrow, "J") = so7.Value
ws.Cells(lrow, "K") = so8.Value
ws.Cells(lrow, "L") = so9.Value
ws.Cells(lrow, "M") = so10.Value
ws.Cells(lrow, "N") = location.Value
ws.Cells(lrow, "O") = purpose.Value
ws.Cells(lrow, "P") = checkno.Value
ws.Cells(lrow, "Q") = expresscode.Value
ws.Cells(lrow, "R") = remarks.Value
Unload cdatafrm
cdatafrm.Show
End Sub
Private Sub so1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If so1.Value = "BH" Then
Exit Sub
ElseIf Len(so1.Value) <> 7 Then
MsgBox "Please enter a 7 digit number"
Cancel = True
Exit Sub
End If
End Sub
Private Sub checkno_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(checkno.Value) <> 10 Then
MsgBox "Please enter a valid 10 digit Check Number"
Cancel = True
Exit Sub
End If
End Sub
Private Sub expresscode_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Select Case Len(expresscode.Text)
Case 9
expresscode.Text = Format(expresscode.Text, "84271 ##### ####")
Case 13
expresscode.Text = Format(expresscode.Text, "84271 ##### #### ####")
Case 16, 21
Case Else
Cancel = True
MsgBox "Please enter a 9 or 13 digit number"
End Select
End Sub
Private Sub cmdClear_Click()
Dim ctl As MSForms.Control
For Each ctl In Me.Controls
Select Case TypeName(ctl)
Case "TextBox"
ctl.Text = ""
Case "CheckBox", "OptionButton", "ToggleButton"
ctl.Value = False
Case "ComboBox", "ListBox"
ctl.ListIndex = -1
End Select
Next ctl
End Sub
Private Sub cmdQuit_Click()
Dim ctl As MSForms.Control
For Each ctl In Me.Controls
Select Case TypeName(ctl)
Case "TextBox"
ctl.Text = ""
Case "CheckBox", "OptionButton", "ToggleButton"
ctl.Value = False
Case "ComboBox", "ListBox"
ctl.ListIndex = -1
End Select
Next ctl
Unload cdatafrm
End Sub
Private Sub SpinButton1_SpinDown()
If Me.recnum.Value = "1" Then
MsgBox "First Transaction Available"
Exit Sub
End If
Me.recnum.Value = Worksheets("Comdata Entry").Range("A" & Me.SpinButton1.Value).Value
Me.issuer.Value = Worksheets("Comdata Entry").Range("B" & Me.SpinButton1.Value).Value
Me.driver.Value = Worksheets("Comdata Entry").Range("C" & Me.SpinButton1.Value).Value
Me.so1.Value = Worksheets("Comdata Entry").Range("D" & Me.SpinButton1.Value).Value
Me.so2.Value = Worksheets("Comdata Entry").Range("E" & Me.SpinButton1.Value).Value
Me.so3.Value = Worksheets("Comdata Entry").Range("F" & Me.SpinButton1.Value).Value
Me.so4.Value = Worksheets("Comdata Entry").Range("G" & Me.SpinButton1.Value).Value
Me.so5.Value = Worksheets("Comdata Entry").Range("H" & Me.SpinButton1.Value).Value
Me.so6.Value = Worksheets("Comdata Entry").Range("I" & Me.SpinButton1.Value).Value
Me.so7.Value = Worksheets("Comdata Entry").Range("J" & Me.SpinButton1.Value).Value
Me.so8.Value = Worksheets("Comdata Entry").Range("K" & Me.SpinButton1.Value).Value
Me.so9.Value = Worksheets("Comdata Entry").Range("L" & Me.SpinButton1.Value).Value
Me.so10.Value = Worksheets("Comdata Entry").Range("M" & Me.SpinButton1.Value).Value
Me.location.Value = Worksheets("Comdata Entry").Range("N" & Me.SpinButton1.Value).Value
Me.purpose.Value = Worksheets("Comdata Entry").Range("O" & Me.SpinButton1.Value).Value
Me.checkno.Value = Worksheets("Comdata Entry").Range("P" & Me.SpinButton1.Value).Value
Me.expresscode.Value = Worksheets("Comdata Entry").Range("Q" & Me.SpinButton1.Value).Value
Me.remarks.Value = Worksheets("Comdata Entry").Range("R" & Me.SpinButton1.Value).Value
End Sub
Private Sub SpinButton1_SpinUp()
Let recnum.Value = SpinButton1.Visible
Me.recnum.Value = Worksheets("Comdata Entry").Range("A" & Me.SpinButton1.Value).Value
Me.issuer.Value = Worksheets("Comdata Entry").Range("B" & Me.SpinButton1.Value).Value
Me.driver.Value = Worksheets("Comdata Entry").Range("C" & Me.SpinButton1.Value).Value
Me.so1.Value = Worksheets("Comdata Entry").Range("D" & Me.SpinButton1.Value).Value
Me.so2.Value = Worksheets("Comdata Entry").Range("E" & Me.SpinButton1.Value).Value
Me.so3.Value = Worksheets("Comdata Entry").Range("F" & Me.SpinButton1.Value).Value
Me.so4.Value = Worksheets("Comdata Entry").Range("G" & Me.SpinButton1.Value).Value
Me.so5.Value = Worksheets("Comdata Entry").Range("H" & Me.SpinButton1.Value).Value
Me.so6.Value = Worksheets("Comdata Entry").Range("I" & Me.SpinButton1.Value).Value
Me.so7.Value = Worksheets("Comdata Entry").Range("J" & Me.SpinButton1.Value).Value
Me.so8.Value = Worksheets("Comdata Entry").Range("K" & Me.SpinButton1.Value).Value
Me.so9.Value = Worksheets("Comdata Entry").Range("L" & Me.SpinButton1.Value).Value
Me.so10.Value = Worksheets("Comdata Entry").Range("M" & Me.SpinButton1.Value).Value
Me.location.Value = Worksheets("Comdata Entry").Range("N" & Me.SpinButton1.Value).Value
Me.purpose.Value = Worksheets("Comdata Entry").Range("O" & Me.SpinButton1.Value).Value
Me.checkno.Value = Worksheets("Comdata Entry").Range("P" & Me.SpinButton1.Value).Value
Me.expresscode.Value = Worksheets("Comdata Entry").Range("Q" & Me.SpinButton1.Value).Value
Me.remarks.Value = Worksheets("Comdata Entry").Range("R" & Me.SpinButton1.Value).Value
If Me.recnum.Value = "" Then
MsgBox "Last Transaction Available"
Exit Sub
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, _
CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox "To Exit this application, please use the 'Quit' button."
End If
End Sub
Private Sub cmdUpdate_Click()
Dim CurRow As Integer
Dim lrow As Long
lrow = ActiveCell.Row
Dim ws As Worksheet
Set ws = Worksheets("Comdata Entry")
If issuer.Value = "" Then
MsgBox "Please select the Issuer", vbExclamation, "Sunrise Transport, Inc."
Exit Sub
ElseIf driver.Value = "" Then
MsgBox "Please select the Driver"
Exit Sub
ElseIf so1.Value = "" Then
MsgBox "Please enter a valid Sales Order Number"
Exit Sub
ElseIf location.Value = "" Then
MsgBox "Please select the Location"
Exit Sub
ElseIf purpose.Value = "" Then
MsgBox "Please select the Purpose"
Exit Sub
ElseIf checkno.Value = "" Then
MsgBox "Please enter a Check Number"
Exit Sub
ElseIf expresscode.Value = "" Then
MsgBox "Please enter a valid Express Code in the following format: ##### #### OR ##### #### ####"
Exit Sub
End If
'Update data to worksheet
ws.Cells(lrow, 1).Value = Me.recnum.Value
ws.Cells(lrow, 2).Value = Me.issuer.Value
ws.Cells(lrow, 3).Value = Me.driver.Value
ws.Cells(lrow, 4).Value = Me.so1.Value
ws.Cells(lrow, 5).Value = Me.so2.Value
ws.Cells(lrow, 6).Value = Me.so3.Value
ws.Cells(lrow, 7).Value = Me.so4.Value
ws.Cells(lrow, 8).Value = Me.so5.Value
ws.Cells(lrow, 9).Value = Me.so6.Value
ws.Cells(lrow, 10).Value = Me.so7.Value
ws.Cells(lrow, 11).Value = Me.so8.Value
ws.Cells(lrow, 12).Value = Me.so9.Value
ws.Cells(lrow, 13).Value = Me.so10.Value
ws.Cells(lrow, 14).Value = Me.location.Value
ws.Cells(lrow, 15).Value = Me.purpose.Value
ws.Cells(lrow, 16).Value = Me.checkno.Value
ws.Cells(lrow, 17).Value = Me.expresscode.Value
ws.Cells(lrow, 18).Value = Me.remarks.Value
ActiveWorkbook.Save
End Sub
Bookmarks