У меня возникли проблемы с некоторыми вариантами выбора. У меня есть моя программа, работающая с именованными диапазонами. Я хочу, чтобы он заканчивался, если случай выбора не входит в ряд именованных диапазонов. Вот мой код, который работает правильно, когда пользователь выбирает правильные ячейки:VBA End, если пользователь выбрал ячейку, не входит в ряд именованных диапазонов
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("ActionDisplay")) Is Nothing Then
Select Case Target.Column
Case 5: Call Find_Action_RPI_Info
Case 6: Call Find_Action_RPI_Info
Case 7: Call Find_Action_RPI_Info
Case 8: Call Find_Action_RPI_Info
Case 9: Call Find_Action_RPI_Info
Case 10: Call Find_Action_RPI_Info
Case 11: Call Find_Action_RPI_Info
Case 12: Call Find_Action_RPI_Info
Case Else
End Select
End If
If Not Intersect(Target, Range("ActionTotalDisplay")) Is Nothing Then
Select Case Target.Column
Case 13: Call Action_Total_RPI_Info
Case Else
End Select
End If
If Not Intersect(Target, Range("TotalDisplay")) Is Nothing Then
Select Case Target.Column
Case 5: Call CM_Action_Total_RPI_Info
Case 6: Call CM_Action_Total_RPI_Info
Case 7: Call CM_Action_Total_RPI_Info
Case 8: Call CM_Action_Total_RPI_Info
Case 9: Call CM_Action_Total_RPI_Info
Case 10: Call CM_Action_Total_RPI_Info
Case 11: Call CM_Action_Total_RPI_Info
Case 12: Call CM_Action_Total_RPI_Info
Case Else
End Select
End If
If Not Intersect(Target, Range("GroupTotal")) Is Nothing Then
Select Case Target.Column
Case 13: Call GroupDisplay
Case Else
End Select
End If
If Not Intersect(Target, Range("PastDue")) Is Nothing Then
Select Case Target.Column
Case 7: Call PastDueDisplay
Case 8: Exit Sub
Case 9: Call PastDueDisplay
Case 10: Exit Sub
Case Else
End Select
End If
If Not Intersect(Target, Range("PastDueTotal")) Is Nothing Then
Select Case Target.Column
Case 7: Call PastDueTotalDisplay
Case 8: Exit Sub
Case 9: Call PastDueTotalDisplay
Case 10: Exit Sub
Case Else
End Select
End If
End Sub
Так в основном, если его не в каком-либо из указанных выше диапазонов, которые я хочу программу до конца. Я уверен, что есть лучшие способы делать то, что я пытаюсь, но я все это учу, поэтому я уверен, что он не идеален.
Это очиститель спасибо. Somthing, я заметил часть: в конце для случая lastDue, эта часть теперь не fucntion. Он выписывает выходы. Случилось знать причину? это заставляет столбцы на 7, 9? – user2044180
Если номер столбца os не 7 или 9, то он ничего не сделает и просто выйдет из подкаталога –
Это должно быть что-то в моей проверке на проверку ошибок позже в моем коде. Я продолжаю копать. Я думаю, что это с моей проверкой проверки выбора, где я уверен, что пользователь выбирает одну ячейку. 'IF selection.cells.count> 1 then end', который может быть изгнан – user2044180