Прикрепленный код берет пользовательский ввод из раскрывающегося списка, находит соответствующий заголовок на другом листе и копирует столбец данных с одного листа («Значения классификации») на другой («CLASS_CHECK»).
Этот код вызывает ошибки «нехватки памяти» после стольких случаев использования.
Есть идеи, как мне улучшить свой код, чтобы он не исчерпал память?
Спасибо!
Код:
Public headerTitle As String
Private Sub Worksheet_Change(ByVal Target As Range)
headerTitle = Range("title").Value
Debug.Print (headerTitle)
Call doStuffWithTable
End Sub
Public Sub doStuffWithTable()
If (headerTitle = "Analog") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Analog").Value
Application.EnableEvents = True
ElseIf (headerTitle = "Asic") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Asic").Value
Application.EnableEvents = True
ElseIf (headerTitle = "Board Artifacts") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Board").Value
Application.EnableEvents = True
ElseIf (headerTitle = "Clock") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Clock").Value
Application.EnableEvents = True
ElseIf (headerTitle = "Connector") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Connector").Value
Application.EnableEvents = True
ElseIf (headerTitle = "Digital") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Digital").Value
Application.EnableEvents = True
ElseIf (headerTitle = "Discrete: Capacitor") Then
Application.EnableEvents = False
Sheets("CLASS_CHECK").Range("Column").Value = Sheets("Classification Values").Range("Capacitor").Value
Application.EnableEvents = True
End Sub