Approach moving data from UserForm to Table

03856me

Active Member
Joined
Apr 4, 2008
Messages
297
I have a userform with 70+ textbox values that are added to the table correctly. 9 fields repeat on each row then the other data is moved to columns across the worksheet. Again, the way I have it setup works, but it is extremely slow, and getting slower every week due to the amount of data being stored. I suspect my code is clunky and could be more efficient and faster. Any suggestions on how to make this better is greatly appreciated and will make a lot of peoples lives easier.

NOTE: The values in the first 9 textboxes are the same for each row, is there a way to store those values without having to repeat on each reason?

I have added a snippet of the data table, as you can see by the unit number column each day might only be 20-25 rows since all the textboxes do not have data.

Thanks in advance for your time.

VBA Code:
Private Sub UserForm_Initialize()

    Dim dimension As Range
    Dim mill As Range
    Dim specie As Range
    Dim seasoning As Range
    Dim grade As Range
    Dim ws As Worksheet
    Set ws = Worksheets("Lookups")

For Each dimension In ws.Range("dimensionTable")
    With Me.cbo_dimension
        .AddItem dimension.Value
    End With
Next dimension
  
For Each mill In ws.Range("millTable")
    With Me.cbo_mill
        .AddItem mill.Value
    End With
Next mill

For Each specie In ws.Range("specieTable")
    With Me.cbo_specie
        .AddItem specie.Value
    End With
Next specie

For Each seasoning In ws.Range("seasoningTable")
    With Me.cbo_seasoning
        .AddItem seasoning.Value
    End With
Next seasoning

For Each Length In ws.Range("lengthTable")
    With Me.cbo_length
        .AddItem Length.Value
    End With
Next Length

For Each grade In ws.Range("gradeTable[grade]")
    With Me.cbo_grade
        .AddItem grade.Value
    End With
Next grade

Me.txt_unitnumber.Value = Sheets("data").Range("nextUtilnumber").Value

Me.TXT_datestamp.Value = Now
    Me.TXT_datestamp = Format(TXT_datestamp.Value, "mm/dd/yy hh:mm")

End Sub

    
Private Sub cmd_add_Click()
===================
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.ScreenUpdating = False
    If Me.txt_dgwidefaceknot.Value > "0" Then AddWideFaceKnot
    If Me.txt_dgedgeknot.Value > "0" Then AddEdgeKnot
    If Me.txt_dgxsectionknot.Value > "" Then AddXSectionKnot
    If Me.txt_dgspikeknot.Value > "0" Then AddSpikeKnot
    If Me.txt_dgknothole.Value > "0" Then AddKnotHole
    If Me.txt_dgslope.Value > "0" Then AddSlope
    If Me.txt_dgdistortion.Value > "0" Then AddDistortion
    If Me.txt_dgsurfaceshake.Value > "0" Then AddSurfaceShake
    If Me.txt_dgthroughshake.Value > "0" Then AddThroughShake
    If Me.txt_dgendsplit.Value > "0" Then AddEndSplit 'post 1/2 sawmill and 1/2 kilns
    If Me.txt_dgendsplit.Value > "0" Then AddEndSplit2 'post 1/2 sawmill and 1/2 kilns
    If Me.txt_dgedgesplit.Value > "0" Then AddEdgeSplit
    If Me.txt_dgdecay.Value > "0" Then AddDecay
    If Me.txt_dghoneycomb.Value > "0" Then AddHoneyComb
    If Me.txt_dgwhitespeck.Value > "0" Then AddWhiteSpeck
    If Me.txt_dgwormholes.Value > "0" Then AddWormHoles
    If Me.txt_dgbarkpockets.Value > "0" Then AddBarkPockets
    If Me.txt_dgtimberbreak.Value > "0" Then AddTimberBreak
    If Me.txt_dgmold.Value > "0" Then AddMold
    If Me.txt_dgstain.Value > "0" Then AddStain
    If Me.txt_dgpitchpith.Value > "0" Then AddPitchPith
    If Me.txt_dgedgewane.Value > "0" Then AddEdgeWane
    If Me.txt_dgfacewane.Value > "0" Then AddFaceWane
    If Me.txt_dgsaddlewane.Value > "0" Then AddSaddleWane
    If Me.txt_dgedgeskip.Value > "0" Then AddEdgeSkip 'post 1/2 sawmill and 1/2 kilns
    If Me.txt_dgedgeskip.Value > "0" Then AddEdgeSkip2 'post 1/2 sawmill and 1/2 kilns
    If Me.txt_dgfaceskip.Value > "0" Then AddFaceSkip 'post 1/2 sawmill and 1/2 kilns
    If Me.txt_dgfaceskip.Value > "0" Then AddFaceSkip2 'post 1/2 sawmill and 1/2 kilns
    If Me.txt_dgmfghole.Value > "0" Then AddMfgHole
    If Me.txt_dgrollerbreak.Value > "0" Then AddRollerBreak
    If Me.txt_dggangmismatch.Value > "0" Then AddGangMisMatch
    If Me.txt_dgsawcuts.Value > "0" Then AddSawCuts
    If Me.txt_dggangsharpchain.Value > "0" Then AddGangSharpChain
    If Me.txt_dgothermfg.Value > "0" Then AddOtherMfg
    If Me.txt_dgchipface.Value > "0" Then AddChipFace
    If Me.txt_dggangchiphead.Value > "0" Then AddGangChipHead
    If Me.txt_dgedgersharpchain.Value > "0" Then AddEdgerSharpChain
    If Me.txt_dgbarkerdamage.Value > "0" Then AddBarkerDamage
    If Me.txt_dgplanerdamage.Value > "0" Then AddPlanerDamage
    If Me.txt_dgshortboard.Value > "0" Then AddShortBoard
    If Me.txt_dgbroken.Value > "0" Then AddBroken
    If Me.txt_dgbow.Value > "0" Then AddBow
    If Me.txt_dgcrook.Value > "0" Then AddCrook
    If Me.txt_dgtwist.Value > "0" Then AddTwist
    If Me.txt_dgwet.Value > "0" Then AddWet
    If Me.txt_dgkilncartdamage.Value > "0" Then AddKilnCartDamage
    If Me.txt_dgseasoningchecks.Value > "0" Then AddSeasoningChecks
    If Me.txt_dgpulledgrain.Value > "0" Then AddPulledGrain
    If Me.txt_dgscannerabove.Value > "0" Then AddScannerAbove
    If Me.txt_dgscannerbelow.Value > "0" Then AddScannerBelow
    If Me.txt_dggraderabove.Value > "0" Then AddGraderAbove
    If Me.txt_dggraderbelow.Value > "0" Then AddGraderBelow
    If Me.txt_dgmispulled.Value > "0" Then AddMisPulled
    If Me.txt_dgvaluemax.Value > "0" Then AddValueMax
    If Me.txt_ongrade.Value > "0" Then AddOnGrade
    
    ClearData

Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic

txt_unitnumber.Value = Sheets("data").Range("nextUtilnumber").Value
End Sub
Private Sub cmd_close_Click()
    Unload Me
    Sheets("Main").Activate
End Sub
Private Sub cmd_clear_Click()
    ClearData
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, _
  CloseMode As Integer)
  If CloseMode = vbFormControlMenu Then
    Cancel = True
    MsgBox "Please use the button!"
  End If
End Sub

'================================================================ CLEAR FORM =============
Private Sub ClearData()
    Me.txt_pcsperunit.Value = ""
    Me.txt_dgwidefaceknot.Value = ""
    Me.txt_dgedgeknot.Value = ""
    Me.txt_dgxsectionknot.Value = ""
    Me.txt_dgspikeknot.Value = ""
    Me.txt_dgknothole.Value = ""
    Me.txt_dgslope.Value = ""
    Me.txt_dgdistortion.Value = ""
    Me.txt_dgsurfaceshake.Value = ""
    Me.txt_dgthroughshake.Value = ""
    Me.txt_dgendsplit.Value = ""
    Me.txt_dgedgesplit.Value = ""
    Me.txt_dgdecay.Value = ""
    Me.txt_dghoneycomb.Value = ""
    Me.txt_dgwhitespeck.Value = ""
    Me.txt_dgwormholes.Value = ""
    Me.txt_dgbarkpockets.Value = ""
    Me.txt_dgtimberbreak.Value = ""
    Me.txt_dgmold.Value = ""
    Me.txt_dgstain.Value = ""
    Me.txt_dgpitchpith.Value = ""
    Me.txt_dgedgewane.Value = ""
    Me.txt_dgfacewane.Value = ""
    Me.txt_dgsaddlewane.Value = ""
    Me.txt_dgedgeskip.Value = ""
    Me.txt_dgfaceskip.Value = ""
    Me.txt_dgmfghole.Value = ""
    Me.txt_dgrollerbreak.Value = ""
    Me.txt_dggangmismatch.Value = ""
    Me.txt_dgsawcuts.Value = ""
    Me.txt_dggangsharpchain.Value = ""
    Me.txt_dgothermfg.Value = ""
    Me.txt_dgchipface.Value = ""
    Me.txt_dggangchiphead.Value = ""
    Me.txt_dgedgersharpchain.Value = ""
    Me.txt_dgbarkerdamage.Value = ""
    Me.txt_dgplanerdamage.Value = ""
    Me.txt_dgshortboard.Value = ""
    Me.txt_dgbroken.Value = ""
    Me.txt_dgbow.Value = ""
    Me.txt_dgcrook.Value = ""
    Me.txt_dgtwist.Value = ""
    Me.txt_dgwet.Value = ""
    Me.txt_dgkilncartdamage.Value = ""
    Me.txt_dgseasoningchecks.Value = ""
    Me.txt_dgpulledgrain.Value = ""
    Me.txt_dgscannerabove.Value = ""
    Me.txt_dgscannerbelow.Value = ""
    Me.txt_dggraderabove.Value = ""
    Me.txt_dggraderbelow.Value = ""
    Me.txt_dgmispulled.Value = ""
    Me.txt_dgvaluemax.Value = ""
    Me.txt_ongrade.Value = ""
    Me.OptionButton1.Value = False
    Me.txt_date.SetFocus
    
    With txt_date
        .SelStart = 0
        .SelLength = 500
    End With
End Sub


'================================================================ ADD DATA =============
Private Sub AddWideFaceKnot()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Wide Face Knot"
        ws.Cells(iRow, 9).Value = Me.txt_dgwidefaceknot.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "1"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEdgeKnot()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Edge Knot"
        ws.Cells(iRow, 9).Value = Me.txt_dgedgeknot.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "2"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddXSectionKnot()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "X-Section Knot"
        ws.Cells(iRow, 9).Value = Me.txt_dgxsectionknot.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "3"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddSpikeKnot()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Spike Knot"
        ws.Cells(iRow, 9).Value = Me.txt_dgspikeknot.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "4"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddKnotHole()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Knot Hole"
        ws.Cells(iRow, 9).Value = Me.txt_dgknothole.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "5"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddSlope()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Slope"
        ws.Cells(iRow, 9).Value = Me.txt_dgslope.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "6"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddDistortion()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Distortion"
        ws.Cells(iRow, 9).Value = Me.txt_dgdistortion.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "7"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddSurfaceShake()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Surface Shake"
        ws.Cells(iRow, 9).Value = Me.txt_dgsurfaceshake.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "8"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddThroughShake()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Through Shake"
        ws.Cells(iRow, 9).Value = Me.txt_dgthroughshake.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "9"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEndSplit()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "End Split"
        ws.Cells(iRow, 9).Value = Me.txt_dgendsplit2.Value 'post 1/2 sawmill and 1/2 kilns
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "10"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEndSplit2()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "End Split"
        ws.Cells(iRow, 9).Value = Me.txt_dgendsplit2.Value 'post 1/2 sawmill and 1/2 kilns
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "11"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEdgeSplit()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Edge Split"
        ws.Cells(iRow, 9).Value = Me.txt_dgedgesplit.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "12"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddDecay()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Decay"
        ws.Cells(iRow, 9).Value = Me.txt_dgdecay.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "13"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddHoneyComb()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Honey Comb"
        ws.Cells(iRow, 9).Value = Me.txt_dghoneycomb.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "14"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddWhiteSpeck()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "White Speck"
        ws.Cells(iRow, 9).Value = Me.txt_dgwhitespeck.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "15"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub
Private Sub AddWormHoles()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Worm Holes"
        ws.Cells(iRow, 9).Value = Me.txt_dgwormholes.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "16"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddBarkPockets()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Bark Pockets"
        ws.Cells(iRow, 9).Value = Me.txt_dgbarkpockets.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "17"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddTimberBreak()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Timber Break"
        ws.Cells(iRow, 9).Value = Me.txt_dgtimberbreak.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "18"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddMold()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Mold"
        ws.Cells(iRow, 9).Value = Me.txt_dgmold.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "20"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddStain()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Stain"
        ws.Cells(iRow, 9).Value = Me.txt_dgstain.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "21"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddPitchPith()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Pitch & Pith"
        ws.Cells(iRow, 9).Value = Me.txt_dgpitchpith.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Biological"
        ws.Cells(iRow, 16).Value = "22"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEdgeWane()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Edge Wane"
        ws.Cells(iRow, 9).Value = Me.txt_dgedgewane.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "23"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddFaceWane()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Face Wane"
        ws.Cells(iRow, 9).Value = Me.txt_dgfacewane.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "24"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddSaddleWane()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Saddle Wane"
        ws.Cells(iRow, 9).Value = Me.txt_dgsaddlewane.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "25"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEdgeSkip()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Edge Skip"
        ws.Cells(iRow, 9).Value = Me.txt_dgedgeskip2.Value 'post 1/2 sawmill and 1/2 kilns
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "26"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEdgeSkip2()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Edge Skip"
        ws.Cells(iRow, 9).Value = Me.txt_dgedgeskip2.Value 'post 1/2 sawmill and 1/2 kilns
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "27"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddFaceSkip()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Face Skip"
        ws.Cells(iRow, 9).Value = Me.txt_dgfaceskip2.Value 'post 1/2 sawmill and 1/2 kilns
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "28"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddFaceSkip2()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Face Skip"
        ws.Cells(iRow, 9).Value = Me.txt_dgfaceskip2.Value 'post 1/2 sawmill and 1/2 kilns
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "29"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddMfgHole()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Mfg Hole"
        ws.Cells(iRow, 9).Value = Me.txt_dgmfghole.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "30"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddRollerBreak()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Roller Break"
        ws.Cells(iRow, 9).Value = Me.txt_dgrollerbreak.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "31"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddGangMisMatch()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Gang MisMatch"
        ws.Cells(iRow, 9).Value = Me.txt_dggangmismatch.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "32"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddSawCuts()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Saw Cuts"
        ws.Cells(iRow, 9).Value = Me.txt_dgsawcuts.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "33"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddGangSharpChain()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Gang Sharp Chain"
        ws.Cells(iRow, 9).Value = Me.txt_dggangsharpchain.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "34"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddOtherMfg()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Other Manufacturing"
        ws.Cells(iRow, 9).Value = Me.txt_dgothermfg.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "35"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddChipFace()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Chip Face"
        ws.Cells(iRow, 9).Value = Me.txt_dgchipface.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "36"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddGangChipHead()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Gang Chip Head Tear Out"
        ws.Cells(iRow, 9).Value = Me.txt_dggangchiphead.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "37"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddEdgerSharpChain()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Edger Sharp Chain"
        ws.Cells(iRow, 9).Value = Me.txt_dgedgersharpchain.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "38"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddBarkerDamage()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Barker Damage"
        ws.Cells(iRow, 9).Value = Me.txt_dgbarkerdamage.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "39"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddPlanerDamage()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Planer Damage"
        ws.Cells(iRow, 9).Value = Me.txt_dgplanerdamage.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "40"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddShortBoard()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Short Board"
        ws.Cells(iRow, 9).Value = Me.txt_dgshortboard.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "41"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddBroken()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Broken"
        ws.Cells(iRow, 9).Value = Me.txt_dgbroken.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Sawmill"
        ws.Cells(iRow, 16).Value = "42"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddBow()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Bow"
        ws.Cells(iRow, 9).Value = Me.txt_dgbow.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "43"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddCrook()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Crook"
        ws.Cells(iRow, 9).Value = Me.txt_dgcrook.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "44"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddTwist()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Twist"
        ws.Cells(iRow, 9).Value = Me.txt_dgtwist.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "45"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddWet()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Wet"
        ws.Cells(iRow, 9).Value = Me.txt_dgwet.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "46"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddKilnCartDamage()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Kiln Cart Damage"
        ws.Cells(iRow, 9).Value = Me.txt_dgkilncartdamage.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "47"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddSeasoningChecks()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Seasoning Checks"
        ws.Cells(iRow, 9).Value = Me.txt_dgseasoningchecks.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Kilns"
        ws.Cells(iRow, 16).Value = "48"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddPulledGrain()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Pulled Grain"
        ws.Cells(iRow, 9).Value = Me.txt_dgpulledgrain.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "49"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddScannerAbove()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Scanner Above"
        ws.Cells(iRow, 9).Value = Me.txt_dgscannerabove.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "50"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddScannerBelow()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Scanner Below"
        ws.Cells(iRow, 9).Value = Me.txt_dgscannerbelow.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "51"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddGraderAbove()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Grader Above"
        ws.Cells(iRow, 9).Value = Me.txt_dggraderabove.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "52"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddGraderBelow()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Grader Below"
        ws.Cells(iRow, 9).Value = Me.txt_dggraderbelow.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "53"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddMisPulled()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "MisPulled"
        ws.Cells(iRow, 9).Value = Me.txt_dgmispulled.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "54"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddValueMax()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "Value Max"
        ws.Cells(iRow, 9).Value = Me.txt_dgvaluemax.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "55"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub

Private Sub AddOnGrade()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ws.Cells(iRow, 1).Value = Me.txt_date.Value
        ws.Cells(iRow, 2).Value = Me.cbo_dimension.Value
        ws.Cells(iRow, 3).Value = Me.cbo_length.Value
        ws.Cells(iRow, 4).Value = Me.cbo_grade.Value
        ws.Cells(iRow, 5).Value = Me.cbo_mill.Value
        ws.Cells(iRow, 6).Value = Me.cbo_specie.Value
        ws.Cells(iRow, 7).Value = Me.cbo_seasoning.Value
        ws.Cells(iRow, 8).Value = "On Grade"
        ws.Cells(iRow, 9).Value = Me.txt_ongrade.Value
        ws.Cells(iRow, 14).Value = Me.txt_unitnumber.Value
        ws.Cells(iRow, 15).Value = "Planer"
        ws.Cells(iRow, 16).Value = "56"
        ws.Cells(iRow, 21).Value = Me.TXT_datestamp.Value
        If Me.OptionButton1.Value = True Then ws.Cells(iRow, 17).Value = "Yes"
End Sub
 

Attachments

  • Capture.PNG
    Capture.PNG
    35.6 KB · Views: 19
  • Capture2.PNG
    Capture2.PNG
    74.7 KB · Views: 26

Excel Facts

Who is Mr Spreadsheet?
Author John Walkenbach was Mr Spreadsheet until his retirement in June 2019.
If you would explain more in words what you're attempting to do with specific details like sheet names. I may could help. And if this is actually a Table, we are working with we need the sheet name and the table name
Trying to read nearly 500 lines of code you have here is impossible for me.
 
Upvote 0
I know, it is a little overwhelming for me too.

Sheet name: data
table name: dataTable
Userform: frm_datainput

Employees have a form that matches the order of the userform. They are breaking down lumber units and identifying degrade reasons why each board is an economy but could be a #2 if the degrade reasons are addressed. This is done on a weekly basis and by multiple employees at multiple locations.

These textbox/combo box values repeat on each row of data for that unit: Date, Mill, Specie, Seasoning, Grade, Dimension, Length, Pcs Per Unit, Unit Number.

I appreciate you looking at this.
 
Upvote 0
Interactions between the form and the sheet take time.
These textbox/combo box values repeat on each row of data for that unit: Date, Mill, Specie, Seasoning, Grade, Dimension, Length, Pcs Per Unit, Unit Number.
Those 9 items could probably be written in a manner that reduces trips to the sheet from once per cell per row to maybe 3 or 4 trips.
Can you tell me if Pcs Per Unit actually is repeating and if so which column it is
and
why you aren't including date entered (column 21) and option button (column 17) as repeating on each row ?

I'd have a crack at this, but won't be investing my time trying to recreate something you've already got in order to test out my ideas,
any chance of you sharing a de-sensitized copy of your file ?
 
Upvote 0
Re: Pcs Per Unit... your posted code clears it from the form but it is nowhere else in the code.
Is it reasonable to think columns 1-7, 14, 17, 21 and maybe 20 (for Pcs Per Unit) would be the same for each row?
 
Upvote 0
Load your form data to arrays and write the arrays to the sheet.
Currently your 9 data common to each row, for 25 rows would require 225 writes to the sheet.
An array requires 1.
 
Upvote 0

Forum statistics

Threads
1,214,985
Messages
6,122,606
Members
449,089
Latest member
Motoracer88

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top