#excel
#excel
Вопрос:
Я пытаюсь добавить запись на свой рабочий лист с помощью формы. Когда я нажимаю на командную кнопку (Добавить запись), мне предлагается «требуемый объект».
Private Sub CommandButton2_Click()
Dim wks As Worksheet
Dim AddNew As Range
Set wks = Sheet1
Set AddNew = wks.Range("A65356").End(xlUp).Offset(1, 0)
AddNew.Offset(0, 0).Value = TextBoxProductCode.Text
AddNew.Offset(0, 1).Value = TextBoxProductName.Text
AddNew.Offset(0, 2).Value = TextBoxDescription.Text
AddNew.Offset(0, 3).Value = TextBoxCustomerName.Text
AddNew.Offset(0, 4).Value = TextBoxBottlesRequested.Text
AddNew.Offset(0, 5).Value = TextBoxDateReceived.Text
AddNew.Offset(0, 6).Value = TextBoxRequestedETD.Text
AddNew.Offset(0, 7).Value = TextBoxEnteredBy.Text
AddNew.Offset(0, 8).Value = TextBoxDate.Text
End Sub
Комментарии:
1. Кто вам это предложил
required object
? IDE? Excel? И как это отображалось? Возможно, скриншот поможет.2. Есть ли причина, по которой вы выполняете двойное смещение?
3. Я новичок в основах Visual, поэтому я немного сбился с пути, но если вы, ребята, сможете мне помочь, это было бы здорово
4. Привет, Марвин, итак, я запускаю форму, нажимаю на кнопку добавить запись, затем я получаю запрос
Ответ №1:
Ваш код не может «видеть» переменные, подобные TextBoxProductCode, поскольку они не Dim
редактируются и Set
не входят в область подраздела.
Комментарии:
1. итак, что мне делать?
Ответ №2:
@Joe, обязательно проверь название своих текстовых полей. в вашем коде должно быть то же самое. Кроме того, попробуйте изменить диапазон вашего addnew.
вместо:
`Set AddNew = wks.Range("A65356").End(xlUp).Offset(1, 0)`
попробуйте приведенный ниже код:
`Set AddNew = wks.Range("A1").End(xlUp).Offset(1, 0)`
таким образом, он будет начинаться со столбца A1 и добавлять значение в первую пустую ячейку.