Why have you got this under Worksheet_Calculate()?
Do you want this to happen everytime the worksheet calculates? seems an awful way to do it, no wonder it is slow.
Just rename the macro to something else and stick it in a normal module. Then you can call it when you need it.
Also the macro to add a tick to a cell can be improved slightly, by unticking it when double clicked again. Is that of any use? Plus if the columns where the ticks need to be added are not contiguous, like colmn B, D and F with the questions in column A, C and E, the following code should work:
Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(<wbr>ByVal Target As Range, Cancel
As Boolean)
If Not Intersect(Target, Range("B5:B10")) Is Nothing Or _
Not Intersect(Target, Range("D5:D10")) Is Nothing Or _
Not Intersect(Target, Range("F5:F10")) Is Nothing Then
If Target.Value = vbNullString Then
Target.Value = "ü"
Target.Font.Name = "Wingdings"
Else
Target.Clear
End If
Cancel = True
End If
End Sub
To get subsequent cells also to show a checkmark you need to enter the
following formula in the cells that need to do this:
Say that if D7 is checked, then D8:D10 also need to be checked
in D8 enter =IF(D$7="ü","ü","")
copy that down into D9 and D10. Format as Wingdings