Я очень плохо знаком с VBA, но до сих пор мне удавалось проработать все, что мне нужно.Тем не менее, я не могу решить эту проблему.Технически у меня есть 2 разные частные подпрограммы (Worksheet_Change), но я мог заставить их работать, только если я их объединил.Первый ограничивает количество ячеек с одинаковым содержанием в столбце B до 3.
Второй очищает диапазон G: I и копирует диапазон A: F, если значение H = 100. «Макро1» дает мнеэта ошибка во время выполнения (Run-time Error '13': несоответствие типов), когда я очищаю содержимое по какой-то причине.Очевидно, «Macro2» очищает содержимое, поэтому я действительно работаю против себя.
Private Sub Worksheet_Change(ByVal Target As Range)
'First Macro. (The issue is in this Macro)
If WorksheetFunction.CountIf(Range("B4:B350"), Target) > 3 Then
msgbox "This team member has the maximum number of open projects.", vbCritical, "Overburdened"
Target.Value = ""
Target.Select
End If
'Second Macro
Dim rngStart As Range
Set rngStart = ActiveCell
A = Worksheets("Project Tracking").Cells(Rows.Count, 1).End(xlUp).Row
For i = 4 To A
If Worksheets("Project Tracking").Cells(i, 8).Value = 100 Then
Worksheets("Project Tracking").Range(Cells(i, 7), Cells(i, 9)).ClearContents
Worksheets("Project Tracking").Range(Cells(i, 1), Cells(i, 6)).Copy
Worksheets("Completed Projects").Activate
B = Worksheets("Completed Projects").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Completed Projects").Cells(B + 1, 1).Select
ActiveSheet.Paste
Worksheets("Project Tracking").Activate
Worksheets("Project Tracking").Range(Cells(i, 1), Cells(i, 6)).ClearContents
Call Reset_List
Call Macro3
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("Project Tracking").Cells(1, 1).Select
rngStart.Select
End Sub