Я продолжаю получать ошибки приложения или объекта, и коды в ** выделяются. Как я могу это исправить?

 Private Sub Update_Click()
  answer = MsgBox("Are you sure you want to update the Staff Record?", 
  vbYesNo + vbQuestion, "Update Staff Record")
  If answer = vbYes Then
    *Cells(Row, 1) = TextBox6.Text*
    Cells(Row, 2) = TextBox1.Text
    Cells(Row, 3) = TextBox2.Text
    Cells(Row, 4) = TextBox3.Text
    Cells(Row, 5) = ComboBox1.Text
    Cells(Row, 6) = ComboBox2.Text
    Cells(Row, 7) = TextBox4.Text
    Cells(Row, 8) = ComboBox3.Text
    Cells(Row, 9) = TextBox5.Text
 End If
End Sub

1 ответ1

0

Вы получаете ошибку, потому что вы не определили значение для переменной Row . Сделайте это так:

Row = value

Где value - это целое число, указывающее строку таблицы, с которой вы хотите, чтобы все ваши операторы Cells работали.

Например, если ваш код должен влиять на строку 2, ваш код будет выглядеть следующим образом:

Private Sub Update_Click()
  Row = 2
  answer = MsgBox("Are you sure you want to update the Staff Record?", 
  vbYesNo + vbQuestion, "Update Staff Record")
  If answer = vbYes Then
    Cells(Row, 1) = TextBox6.Text
    Cells(Row, 2) = TextBox1.Text
    Cells(Row, 3) = TextBox2.Text
    Cells(Row, 4) = TextBox3.Text
    Cells(Row, 5) = ComboBox1.Text
    Cells(Row, 6) = ComboBox2.Text
    Cells(Row, 7) = TextBox4.Text
    Cells(Row, 8) = ComboBox3.Text
    Cells(Row, 9) = TextBox5.Text
 End If
End Sub

Кроме того, вот более краткий способ использования функции MsgBox для выполнения кода на основе ответа пользователя:

If MsgBox("Are you sure you want to update the Staff Record?", _
  vbYesNo + vbQuestion, "Update Staff Record") = vbYes Then
    *run this if user clicks Yes*
End If

Этот подход не сохраняет ответ пользователя в переменной, а затем тестирует его отдельно. Вместо этого он делает то же самое в одной строке кода. (Однако, если вам понадобится снова использовать ответ пользователя позже в своем коде, лучше сохранить его в переменной.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .