Jeg mener det er som herunder.
Din kode
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("$BQ$45").Value <> "" Then
Makro4
End If
End Sub
Gør at ved ændring i ark og $BQ$45 er "" (Tom) så kør Makro4
Makro4 starter = ændring i ark og $BQ$45 er stadig "" (Tom): kør Makro4
Makro4 starter = ændring i ark og $BQ$45 er stadig "" (Tom): kør Makro4
Makro4 starter = ændring i ark og $BQ$45 er stadig "" (Tom): kør Makro4
Makro4 starter = ændring i ark og $BQ$45 er stadig "" (Tom): kør Makro4.....osv
Derfor genstarter Marko4 igen og igen.
Erstat med:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("$BQ$45"), Target) Is Nothing Then
If Not Target.Value <> "" Then
Makro4
End If
End If
End Sub
Ved ændring i celle $BQ$45 og der er ændret til "" (Tom) så kør Makro4 eller gør intet.
Din kode:
Makro4:
Sub Makro4()
'
' Makro4 Makro
'
'
Range("BP47:BZ80").Select
Selection.Copy
Range("BP83").Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Copy
Range("CM26").Select
ActiveSheet.Paste
End Sub
Markerer celler BP47:BZ80 og kopiere dem.
Markerer celle BP83 og indsætter med et format.
Indsætter og overskiver med et andet format.
Tømmer udklipsholder.
Med markering, kopierer det der lige er slettet.
Markerer celle CM26 og indsætter.
Stopper med cellerne fra indsættelse markeret.
Erstat med:
Sub Makro4()
Application.ScreenUpdating = False
Range("BP47:BZ80").Select
Selection.Copy
Range("BP83").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("CM26").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.ScreenUpdating = True
Range("$BQ$45").Select
End Sub
ScreenUpdating fra = så skærm ikke flimmer (Skjuler makro udførsel)
Markerer celler BP47:BZ80 og kopiere dem.
Indsætter med det andet format.
Markerer celle CM26 og indsætter.
ScreenUpdating til.
Markere celle $BQ$45
Altså en forenkling ;-) af Makro4