Everything works perfectly except when saving the information the Application. I've tried moving it around in different areas, but nothing seems to work. Screenupdating isn't working and the user ends up seeing the flickering and jumping back and forth between the data sheet and the calendar view. Here's the Save checklist sub: Sub Save_Checklist() Dim Checklist_Date Dim Completed As Long Dim Left_to_Complete As Long Dim Database_Date As Range Dim Database_Row As Long Dim b Scr Update b Scr Update = Application. ", vb Yes No Cancel, "Reset the Calender") = vb Yes Then Checklist_Date = Worksheets("Daily Checklist"). Disabled Enabled 0.61909653 2.105066913 0.619555829 2.106865363 0.620805767 2.106866315 0.625528325 2.102403315 0.625319976 2.0991179 0.621287448 2.105103142 0.621540236 2.101392665 0.624537531 2.106866716 0.620401789 2.109004449 There is one important thing to know about screen updating which I didn’t see in any previous answer.
Screen Updating = True ''//Turn on screen updating End Sub Text boxes in worksheets are sometimes not updated when their text or formatting is changed, and even the Do Event command does not help.As there is no command in Excel to refresh a worksheet in the way a user form can be refreshed, it is necessary to use a trick to force Excel to update the screen.The grater the amount of screen changes the bigger the impact will be. Other application settings that can make a difference to execution time are Calculation and Event handling. Enable Events = False ' Code here Clean Up: On Error Resume Next Application. Calculation = xl Calculation Automatic Application. Enable Events = True Exit Sub EH: ' Do error handling Go To Clean Up End Sub Sub test Screen Updating() Dim i As Integer Dim numb Switches As Integer Dim results As String 'swap between sheets this number of times numb Switches = 1000 'keep track of time Dim start Time As Double start Time = Time 'swap between sheets 1/2 (need both sheets or this will crash) For i = 1 To numb Switches Sheets(1 (i Mod 2)).Use this code template as a starting point (the error handler ensures that these properties are turned back on at the end of the sub, even if it errors) Sub Your Sub() On Error Go To EH Application. Select Next i 'get results results = "Screen Updating not disabled: " & Format(Time - start Time, "hh:mm:ss") & " seconds" start Time = Time 'scenario 2 - screenupdating disabled Application.Screen Updating = False 'swap between sheets 1/2 (need both sheets or this will crash) For i = 1 To numb Switches Sheets(1 (i Mod 2)). Screen Updating = True 'get results for part two results = results & vb Cr Lf & "Screen Updating IS disabled: " & Format(Time - start Time, "hh:mm:ss") & " seconds" 'show results Msg Box results End Sub Firstly I've been using the script written by Richie (UK) Post #7 Here It simply iterates through a loop changing the value of i in one cell.
I have changed it slightly so it loops 10,000 times and I execute it 10 times for sample size.I have Turned screen updating off to speed up your macro code. Undo Target = New Values End Sub Private Sub Workbook_Sheet Change(By Val Sh As Object, By Val Target As Range) Application. I have the below code that will help me to keep the destination formatting. So if the user copies the data onto workbook from any other format, it helps me in retaining the 'Calibri' Font. My concern: When user copies data, for a second it shows the source formatting before the code gets activated and changes the format I need. Private Sub Workbook_Sheet Change(By Val Sh As Object, By Val Target As Range) Dim v New Values As Variant New Values = Target Application. I always assumed it was just used so that it didn't scare end users into thinking their PC was about to crash.