Я пытаюсь очистить данные из ячейки от A5 до A10, если счет в A3 не равен 6. Я написал «оператор If», но он выдает ошибку из стека. Как мне преодолеть эту ошибку
Я пробовал "if if", но он выдает ошибку.
Dim Count As Integer
Dim BundleDup As Integer
Dim duplicateall As Integer
Dim SAPError As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
Count = Range("A3").Value
BundleDup = Range("B3").Value
duplicateall = Range("C3").Value
SAPError = Range("D3").Value
If Target.Address = "$A$10" And Count = 6 And BundleDup = 0 And duplicateall = 0 And SAPError = 0 Then
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Call MoveData
End If
If Count <> 6 Then
Call ClearData
End If
End Sub
Код работает нормально, если я не использую это
If Count <> 6 Then
Call ClearData
End If
Но как только я воспользуюсь этим и введу значение в A5 - A10, он очистит данные, но застрянет и выдаст ошибку.
Модуль ClearData включает следующий код:
Sub ClearData()
'
' ClearData Macro
'
'
Range("A5:A10").Select
Range("A10").Activate
Selection.ClearContents
Range("A5").Select
End Sub