I want my macro to select specific selection of data based on the datediff value in one cell, then copy and paste it into another sheet. It does this, but it keeps flickering back and forth, giving a glitchy/choppy appearance. Any tips/ideas for how to fix it?
Sub Invoice()
Dim s As Integer
s = 2
Dim t As Integer
t = 21
Dim Newbook As Workbook
Set Newbook = Workbooks.Add
Workbooks("Workbook2.xlsm").Sheets("Invoice Template (2)").Copy Before:=Newbook.Sheets(1)
ActiveSheet.Name = "Current Invoice"
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
Do Until IsEmpty(Cells(s, 1))
mini = Cells(s, 21).Value 'The datediff value I want to find'
If mini = "2" Then
Cells(s, 10).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Nextrow = Cells(t, 2).Row
Cells(Nextrow, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
Cells(s, 8).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Nextrow = Cells(t, 3).Row
Cells(Nextrow, 3).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
Cells(s, 11).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Nextrow = Cells(t, 7).Row
Cells(Nextrow, 7).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Calulating the Premium'
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
If Cells(s, 9) = 1001 Then 'Formula for Life, AD & D, ASI, CI'
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Prem = (Cells(t, 2) * Cells(t, 7)) / 1000
Cells(t, 9).Value = Prem
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
ElseIf Cells(s, 9) = 1103 Then 'Formula for LTD'
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Prem = (Cells(t, 2) * Cells(t, 7)) / 100
Cells(t, 9).Value = Prem
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
ElseIf Cells(s, 9) = 1104 Then 'Formula for STD'
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Prem = (Cells(t, 2) * Cells(t, 7)) / 10
Cells(t, 9).Value = Prem
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
ElseIf Cells(s, 9) = 2112 Then 'General Formula'
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Prem = Cells(t, 2) * Cells(t, 7)
Cells(t, 9).Value = Prem
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
End If
'Calculating Commission'
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
If Cells(s, 15) = 5501 Then
'Add Commission schedule for ACE AND AIG'
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
ElseIf Cells(s, 15) = 5514 Then
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(18, 4) = 0.06 'Commission Rate'
Cells(38, 8) = 0.9 'Front-Load Payment'
Cells(39, 8) = 0.1 'Hold Back Amount'
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
End If
'Business and Insurer Information'
'Insurer Name'
Cells(s, 14).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(8, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Insurer Address'
Cells(s, 16).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(9, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Insert Solution for City, Province, Postal Code'
'Client Name'
Cells(s, 3).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(13, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Client Address'
Cells(s, 4).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(14, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Insert Solution for City, Province, Postal Code'
Cells(s, 1).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(10, 9).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Renewal Date'
Cells(s, 22).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(11, 9).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
'Anniversary Date'
Cells(s, 20).Copy
Newbook.Activate
Newbook.Sheets("Current Invoice").Select
Cells(12, 9).Select
Selection.PasteSpecial Paste:=xlPasteValues
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
Workbooks("Workbook2.xlsm").Sheets("Sheet1").Activate
t = t + 1
End If
s = s + 1
Loop
Newbook.Activate
Dim Client As String
Client = Cells(13, 2).Value
Dim Presently As String
Presently = " - " & MonthName(Month(Date)) & " " & Year(Date)
'ActiveWorkbook.SaveAs Filename:=Client & "Invoice" & Presently'
End Sub