Я новичок в программировании VBA и получил некоторые проблемы с этим кодом. Он должен проверить, существует ли место хранения и если в этом месте есть назначенная ему статья. Это уже сработало, но теперь это не будет «Если ячейки (i, 5) .Text Is Nothing», и поэтому GoTo-line перескакивает.VBA Cells (i, 5) .Text
If Cells (i, 5) .Value не работает а также ..
Любая помощь приветствуется.
Dim x As String
Dim z As String
Dim i As Integer
Tabelle3.Activate
x = InputBox("Please insert the storage place, that is to be emptied")
Cells(3, 2) = x
i = 1
On Error GoTo Ende
Do Until ActiveSheet.Cells(i, 5) = x Or i = 10 'i=amount of available storage places
i = i + 1
Loop
On Error GoTo Ende
If Cells(i, 5).Text Is Nothing Then
Exit Sub
ElseIf ActiveSheet.Cells(i, 6).Value Is Nothing Then
MsgBox "This storage place has no article in it!"
Exit Sub
Else
z = ""
Cells(i, 6) = z
MsgBox "Emptying the storage place " & ActiveSheet.Cells(i, 6) & " was successfull"
End If
Ende:
If Err.Number Then
MsgBox "This storage place doesn't exists or was entered incorrectly"
End If
End Sub
BTW. Использование инструкции 'On Error GoTo Ende' дважды в подпрограмме не является обязательным. 'On Error' действителен в течение всего времени выполнения кода. Чтобы программа была более понятной с ее поведением, вы всегда должны ставить оператор «On Error» в начало вашего подфункции или функции, и если у вас все еще есть ошибки в коде, НЕ ИСПОЛЬЗУЙТЕ его, пока не убедитесь, что выключение ошибок безопасно или намеренно. Эта проблема решилась бы сама, если бы вы позволили компилятору рассказать вам, где произошла ошибка. –
Кроме того, чтобы помочь вам на вашем пути - рассмотрите возможность использования 'Debug.Print' и немедленного окна, чтобы проверить, дает ли ваш оператор результат, который вы хотите. –