Member 13913124 Ответов: 1

Как устранить ошибку 424 в VB


Private Sub CommandButton1_Click()
Dim FDate As Date
Dim Name As String
Dim Amount As Integer
Dim City As String
Dim mydata As Workbook
Worksheets("Form").Select
FDate = Range("J7")
Name = Range("J9")
Amount = Range("J11")
City = Range("J13")
Set mydata = Workbook.Open("E:\Data\Recieved Data.xlsx")
Worksheets("Data").Select
Worksheets("Data").Range("A1").Select
If Worksheets("Data").Range("A1").Offset(1, 0) <> "" Then
Worksheets("Data").Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = FDate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Name
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Amount
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = City
mydata.Save
End Sub


Что я уже пробовал:

Private Sub CommandButton1_Click()
Dim FDate As Date
Dim Name As String
Dim Amount As Integer
Dim City As String
Dim mydata As Workbook
Worksheets("Form").Select
FDate = Range("J7")
Name = Range("J9")
Amount = Range("J11")
City = Range("J13")
Set mydata = Workbook.Open("E:\Data\Recieved Data.xlsx")
Worksheets("Data").Select
Worksheets("Data").Range("A1").Select
If Worksheets("Data").Range("A1").Offset(1, 0) <> "" Then
Worksheets("Data").Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = FDate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Name
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Amount
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = City
mydata.Save
End Sub

Leo Chapiro

Ваш вопрос неполон: какую ошибку вы получите? Какой язык программирования вы используете: VB.NET, VB6, VBA, VB скрипт? Вы пробовали отлаживать свой код? Где именно (строка) возникает ошибка?

1 Ответов

Рейтинг:
1

OriginalGriff

Ошибка 424-это "требуется объект", и есть вероятность, что ваши данные не возвращают данные там, где вы ожидаете. У нас нет доступа к вашим данным или какой-либо идеи о том, на какой линии происходит ошибка, поэтому мы не можем вам сильно помочь, если вообще можем.

Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Как вы его используете, зависит от вашей компиляторной системы, но быстрый поиск в Google имени вашей IDE и "отладчика" должен дать вам необходимую информацию. (это может быть ранняя Visual studio, или это может быть VBA - мы не знаем)

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!


Member 13913124

set mydata= Workbooks.open("путь")
я получаю ошибку в этой строке

OriginalGriff

И что же? Что именно должен означать "путь" для открытой функции?