Has anyone got any suggestions on how to compact this code. all this code is doubling the size of the report
Application.ScreenUpdating = False
Dim lRow As Long
On Error Resume Next
lRow = Application.WorksheetFunction.Match(Sheets("Progress Check").Range("N11"), Sheets("Progress Check Data").Range("A11:A65536"), 0)
On Error GoTo 0
If lRow > 0 Then MsgBox "Duplicate Record - Job No. Already Exsists", vbCritical, "Duplicate Record": Exit Sub
With Sheet3
If Range("I11") = "" Then
MsgBox "Enter A Visit Date", vbCritical, "Visit Date Blank"
Range("I11").Select
Exit Sub
End If
If Range("N11") = "" Then
MsgBox "Enter A Job Number", vbCritical, "Job Number Blank"
Exit Sub
Range("N11").Select
End If
If Range("I13") = "" Then
MsgBox "Enter A Address", vbCritical, "Address Blank"
Exit Sub
Range("I13").Select
End If
If Range("I15") = "" Then
MsgBox "Enter Managers Name", vbCritical, "Manager Blank"
Exit Sub
Range("I15").Select
End If
If Range("N15") = "" Then
MsgBox "Enter A Postcode", vbCritical, "Postcode Blank"
Exit Sub
Range("N15").Select
End If
If .ComboBox1 = "" Then
MsgBox "Enter Installer", vbCritical, "Installer Blank"
Exit Sub
.ComboBox1.Select
End If
If .ComboBox2 = "" Then
MsgBox "Enter Overall Opinion", vbCritical, "Overall Opinion Blank"
Exit Sub
.ComboBox2.Select
End If
End With
Sheet4.Select
Rows("11:11").Select
Selection.Insert Shift:=xlDown
Range("A11").Select
Call Progress_check_DBS
With Sheet3
If .CheckBox1 = True Then
Sheet4.Range("I11") = .CheckBox1
End If
If .CheckBox2 = True Then
Sheet4.Range("K11") = .CheckBox2
End If
If .CheckBox3 = True Then
Sheet4.Range("M11") = .CheckBox3
End If
If .CheckBox4 = True Then
Sheet4.Range("O11") = .CheckBox4
End If
If .CheckBox5 = True Then
Sheet4.Range("Q11") = .CheckBox5
End If
If .CheckBox6 = True Then
Sheet4.Range("S11") = .CheckBox6
End If
If .CheckBox7 = True Then
Sheet4.Range("U11") = .CheckBox7
End If
If .CheckBox8 = True Then
Sheet4.Range("W11") = .CheckBox8
End If
If .CheckBox9 = True Then
Sheet4.Range("Y11") = .CheckBox9
End If
If .CheckBox10 = True Then
Sheet4.Range("AA11") = .CheckBox10
End If
If .CheckBox11 = True Then
Sheet4.Range("AC11") = .CheckBox11
End If
If .CheckBox12 = True Then
Sheet4.Range("AE11") = .CheckBox12
End If
If .CheckBox13 = True Then
Sheet4.Range("AG11") = .CheckBox13
End If
If .CheckBox14 = True Then
Sheet4.Range("AI11") = .CheckBox14
End If
If .CheckBox15 = True Then
Sheet4.Range("AK11") = .CheckBox15
End If
Sheet4.Range("AM11") = .ComboBox2
.CheckBox1 = False
.CheckBox2 = False
.CheckBox3 = False
.CheckBox4 = False
.CheckBox5 = False
.CheckBox6 = False
.CheckBox7 = False
.CheckBox8 = False
.CheckBox9 = False
.CheckBox10 = False
.CheckBox11 = False
.CheckBox12 = False
.CheckBox13 = False
.CheckBox14 = False
.CheckBox15 = False
.ComboBox1 = ""
.ComboBox2 = ""
Sheet3.Range("I11") = ""
Sheet3.Range("N11") = ""
Sheet3.Range("I13") = ""
Sheet3.Range("I15") = ""
Sheet3.Range("N15") = ""
Sheet3.Range("G35:G63") = ""
Sheet3.Range("H5") = ""
Sheet3.Range("C71") = ""
End With
Sheet3.Select
Application.ScreenUpdating = False
Dim lRow As Long
On Error Resume Next
lRow = Application.WorksheetFunction.Match(Sheets("Progress Check").Range("N11"), Sheets("Progress Check Data").Range("A11:A65536"), 0)
On Error GoTo 0
If lRow > 0 Then MsgBox "Duplicate Record - Job No. Already Exsists", vbCritical, "Duplicate Record": Exit Sub
With Sheet3
If Range("I11") = "" Then
MsgBox "Enter A Visit Date", vbCritical, "Visit Date Blank"
Range("I11").Select
Exit Sub
End If
If Range("N11") = "" Then
MsgBox "Enter A Job Number", vbCritical, "Job Number Blank"
Exit Sub
Range("N11").Select
End If
If Range("I13") = "" Then
MsgBox "Enter A Address", vbCritical, "Address Blank"
Exit Sub
Range("I13").Select
End If
If Range("I15") = "" Then
MsgBox "Enter Managers Name", vbCritical, "Manager Blank"
Exit Sub
Range("I15").Select
End If
If Range("N15") = "" Then
MsgBox "Enter A Postcode", vbCritical, "Postcode Blank"
Exit Sub
Range("N15").Select
End If
If .ComboBox1 = "" Then
MsgBox "Enter Installer", vbCritical, "Installer Blank"
Exit Sub
.ComboBox1.Select
End If
If .ComboBox2 = "" Then
MsgBox "Enter Overall Opinion", vbCritical, "Overall Opinion Blank"
Exit Sub
.ComboBox2.Select
End If
End With
Sheet4.Select
Rows("11:11").Select
Selection.Insert Shift:=xlDown
Range("A11").Select
Call Progress_check_DBS
With Sheet3
If .CheckBox1 = True Then
Sheet4.Range("I11") = .CheckBox1
End If
If .CheckBox2 = True Then
Sheet4.Range("K11") = .CheckBox2
End If
If .CheckBox3 = True Then
Sheet4.Range("M11") = .CheckBox3
End If
If .CheckBox4 = True Then
Sheet4.Range("O11") = .CheckBox4
End If
If .CheckBox5 = True Then
Sheet4.Range("Q11") = .CheckBox5
End If
If .CheckBox6 = True Then
Sheet4.Range("S11") = .CheckBox6
End If
If .CheckBox7 = True Then
Sheet4.Range("U11") = .CheckBox7
End If
If .CheckBox8 = True Then
Sheet4.Range("W11") = .CheckBox8
End If
If .CheckBox9 = True Then
Sheet4.Range("Y11") = .CheckBox9
End If
If .CheckBox10 = True Then
Sheet4.Range("AA11") = .CheckBox10
End If
If .CheckBox11 = True Then
Sheet4.Range("AC11") = .CheckBox11
End If
If .CheckBox12 = True Then
Sheet4.Range("AE11") = .CheckBox12
End If
If .CheckBox13 = True Then
Sheet4.Range("AG11") = .CheckBox13
End If
If .CheckBox14 = True Then
Sheet4.Range("AI11") = .CheckBox14
End If
If .CheckBox15 = True Then
Sheet4.Range("AK11") = .CheckBox15
End If
Sheet4.Range("AM11") = .ComboBox2
.CheckBox1 = False
.CheckBox2 = False
.CheckBox3 = False
.CheckBox4 = False
.CheckBox5 = False
.CheckBox6 = False
.CheckBox7 = False
.CheckBox8 = False
.CheckBox9 = False
.CheckBox10 = False
.CheckBox11 = False
.CheckBox12 = False
.CheckBox13 = False
.CheckBox14 = False
.CheckBox15 = False
.ComboBox1 = ""
.ComboBox2 = ""
Sheet3.Range("I11") = ""
Sheet3.Range("N11") = ""
Sheet3.Range("I13") = ""
Sheet3.Range("I15") = ""
Sheet3.Range("N15") = ""
Sheet3.Range("G35:G63") = ""
Sheet3.Range("H5") = ""
Sheet3.Range("C71") = ""
End With
Sheet3.Select