Quantcast
Channel: Active questions tagged excel - Stack Overflow
Viewing all articles
Browse latest Browse all 88809

Userform button not calling code on Module

$
0
0

I have a Userform with the following code attached to the "OK" button. All the code works fine other than the last 4 lines. Full code associated to OK button shown below, code not working is:

Dim SheetName As String
SheetName = ActiveSheet.Name
Call SheetCleanup
Worksheets(SheetName).Activate

It is as if it completely ignores it. SheetCleanup is located in a Module, and my suspicions are that there is an issue going from a Userform to a Module? But I am unfamiliar with this.

Full code is here:

Private Sub CommandButtonOK_Click()

If ComboBoxTargetEvent.Value = "" Or ComboBoxDesigner.Value = "" Or ComboBoxSignoff.Value = "" Or ComboBoxCarArea.Value = "" Or ComboBoxOriginator.Value = "" Or TextBoxNumberOfJobs.Value = "" Or ComboBoxProjectTitle.Value = "" Then _

MsgBox "You must complete all fields", vbInformation

Else:

'Go to worksheet based on Car Area
Dim CarArea As String
CarArea = ComboBoxCarArea.Value
Worksheets(CarArea).Activate

'Enter Target Event Into Column A
Columns("A").Find("", Cells(Rows.Count, "A")).Value = ComboBoxTargetEvent.Value

'Enter Project Title into column B
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 1).Value = ComboBoxProjectTitle.Value

'Enter Designer name into column E
If _
ComboBoxDesigner.Value <> "Various" Then _
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 4).Value = ComboBoxDesigner.Value

'Enter Sign-off name into column F
If _
ComboBoxSignoff.Value <> "Various" Then _
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 5).Value = ComboBoxSignoff.Value

'Enter Originator name into column F
If _
ComboBoxOriginator.Value <> "Various" Then _
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 3).Value = ComboBoxOriginator.Value

'Enter Data Formula into columns H & I
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-2, 7).Select
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-2, 7).Copy
Selection.Offset(1, 0).PasteSpecial Paste:=xlPasteFormulas
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-2, 8).Select
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-2, 8).Copy
Selection.Offset(1, 0).PasteSpecial Paste:=xlPasteFormulas


'Enter temp values into C & G
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 2).Value = "ENTER DESCRIPTION HERE (CAPS LOCK ONLY)"
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 6).Value = "ENTER DATE"'Enter "N" into Job Completed
Columns("A").Find("", Cells(Rows.Count, "A")).Offset(-1, 9).Value = "N"'Enter Data Validation List for Target Event
Dim ws As Worksheet
Dim NumberOfJobs As Long
Dim LastUsedInAA As Long
Dim range9 As Range
Set ws = ThisWorkbook.Worksheets("VBA_Data")
Set range9 = ws.Range("a:a")

LastUsedInAA = Range("A"& Rows.Count).End(xlUp).Row
NumberOfJobs = TextBoxNumberOfJobs.Value

If NumberOfJobs <> 0 Then
    Range("A"& LastUsedInAA).Select
    Selection.Resize(Selection.Rows.Count + NumberOfJobs - 1, _
    Selection.Columns.Count).Select

    With Selection.Validation
    .Delete 'delete previous validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="='"& ws.Name & "'!"& range9.Address
    End With
    End If

'Enter Data Validation List for Designer
Dim LastUsedInE As Long
Dim range1 As Range
Set ws = ThisWorkbook.Worksheets("VBA_Data")
Set range1 = ws.Range("c:c")

LastUsedInE = Range("E"& Rows.Count).End(xlUp).Row
NumberOfJobs = TextBoxNumberOfJobs.Value

If NumberOfJobs <> 0 Then
    Range("E"& LastUsedInE).Select
    Selection.Resize(Selection.Rows.Count + NumberOfJobs - 1, _
    Selection.Columns.Count).Select

    With Selection.Validation
    .Delete 'delete previous validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="='"& ws.Name & "'!"& range1.Address
    End With
    End If

'Enter Data Validation List for Senior Designer
Dim LastUsedInF As Long
Dim range2 As Range
Set ws = ThisWorkbook.Worksheets("VBA_Data")
Set range2 = ws.Range("b:b")

LastUsedInF = Range("F"& Rows.Count).End(xlUp).Row
NumberOfJobs = TextBoxNumberOfJobs.Value

If NumberOfJobs <> 0 Then
    Range("F"& LastUsedInF).Select
    Selection.Resize(Selection.Rows.Count + NumberOfJobs - 1, _
    Selection.Columns.Count).Select

    With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="='"& ws.Name & "'!"& range2.Address
    End With
    End If

'Enter Data Validation List for Originator
Dim LastUsedInD As Long
Dim range5 As Range
Set ws = ThisWorkbook.Worksheets("VBA_Data")
Set range5 = ws.Range("f:f")

LastUsedInD = Range("D"& Rows.Count).End(xlUp).Row
NumberOfJobs = TextBoxNumberOfJobs.Value

If NumberOfJobs <> 0 Then
    Range("d"& LastUsedInD).Select
    Selection.Resize(Selection.Rows.Count + NumberOfJobs - 1, _
    Selection.Columns.Count).Select

    With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="='"& ws.Name & "'!"& range5.Address
    End With
    End If

'Enter Data Validation List for Job Completed
Dim LastUsedInJ As Long
Dim range3 As Range
Set ws = ThisWorkbook.Worksheets("VBA_Data")
Set range3 = ws.Range("d:d")

LastUsedInJ = Range("J"& Rows.Count).End(xlUp).Row
NumberOfJobs = TextBoxNumberOfJobs.Value

If NumberOfJobs <> 0 Then
    Range("J"& LastUsedInJ).Select
    Selection.Resize(Selection.Rows.Count + NumberOfJobs - 1, _
    Selection.Columns.Count).Select

    With Selection.Validation
    .Delete 'delete previous validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="='"& ws.Name & "'!"& range3.Address
    End With
    End If



'Multiply rows for multiple jobs
Dim LastUsedInA As Long

LastUsedInA = Range("A"& Rows.Count).End(xlUp).Row
NumberOfJobs = TextBoxNumberOfJobs.Value

If NumberOfJobs <> 1 Then
    Range("A"& LastUsedInA).Select
    Selection.Resize(Selection.Rows.Count, _
    Selection.Columns.Count + 10).Copy
    Range("A"& LastUsedInA + 1).Select
    Selection.Resize(Selection.Rows.Count + NumberOfJobs - 2, _
    Selection.Columns.Count).Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Selection.PasteSpecial Paste:=xlPasteFormulas
    End If

'Clear the clipboard
Application.CutCopyMode = False

'select last cell in A
Range("A"& LastUsedInA).Select

'Clear all fields before hide
ComboBoxTargetEvent.Value = ""
ComboBoxDesigner.Value = ""
ComboBoxSignoff.Value = ""
ComboBoxCarArea.Value = ""
ComboBoxOriginator.Value = ""
TextBoxNumberOfJobs.Value = ""
ComboBoxProjectTitle.Value = ""'Hide Window
CreateJobs.Hide
End If

Dim SheetName As String
SheetName = ActiveSheet.Name
Call SheetCleanup
Worksheets(SheetName).Activate

End Sub```

Viewing all articles
Browse latest Browse all 88809

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>