Я пытаюсь создать рабочий лист, который позволяет мне и моим коллегам заполнять переменные в рабочем листе, как можно было бы сделать во время беседы с клиентом. До сих пор мне это удавалось, но макрос стал очень-очень медленным ... Я уже отключил ScreenUpdating, DisplayPageBreaks, Calculation и Events.
На самом деле, я почти уверен, что это займет много времени из-за обширного Private Sub Worksheet_Change
. Я использую некоторое первоначальное форматирование, когда ячейка еще пуста, чтобы мои коллеги знали, что поместить в ячейку. Но этот процесс повторяется индивидуально для около 170 строк. Это выглядит так:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(19,3).Value="" Then Cells(19,3).Value="Fill in x.."
Cells(19,3).Font.Fontstyle = "Italic"
Cells(19,3).Font.ColorIndex = 16
If Cells(20,3).Value="" Then Cells(20,3).Value="Fill in y.."
Cells(20,3).Font.Fontstyle = "Italic"
Cells(20,3).Font.ColorIndex = 16
If Cells(25,2).Value="" Then Cells(25,2).Value="Fill in z.."
Cells(25,2).Font.Fontstyle = "Italic"
Cells(25,2).Font.ColorIndex = 16
If Cells(70,3) = True Then Cells(70,3).Value = "Comment.."
If Cells(70,3) = False Then Cells(70,3).Value = ""
Cells(70,3).Font.Fontstyle = "Italic"
Cells(70,3).Font.ColorIndex = 16
И это продолжается для многих других ячеек. Я хотел бы изучить, можно ли запускать только куски Private Sub Worksheet_Change
в то время. Например, он только проверяет, изменяются ли ячейки в главе, в которой работает человек. Может ли кто-нибудь помочь мне с этим или направить меня в правильном направлении?
Заранее спасибо!