Обеспечение заполнения данных в следующей доступной строке - код в VBA - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь написать код для ввода в следующую доступную строку значение 1, когда флажок установлен, и значение 0, если не отмечено.

Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
Set LastRow = Sheet9.Range("a70000").End(xlUp)
LastRow.Offset(1, 2).Value = 1
End If

If CheckBox2.Value = False Then
  LastRow.Offset(1, 2).Value = 0
End If
End Sub


Private Sub enterMDGfunction_Click()

Dim LastRow As Object

Set LastRow = Sheet9.Range("a70000").End(xlUp)




    Unload Me
    DataEntrySystemHomepage.Show
  End Sub

В настоящее время он не войдет в следующую доступную строку.После одной записи таблица перестает заполняться.Связано ли это с моим кодом формы выгрузки?

1 Ответ

0 голосов
/ 22 июня 2019
Set LastRow = Sheet9.Range("a70000").End(xlUp)
LastRow.Offset(1, 2).Value = 1

Это вводит значение на одну строку ниже LastRow в столбце C, но поскольку вы никогда не добавляете ничего нового в столбец A, в следующий раз, когда вы получите LastRow, он снова вернет ту же ячейку в ColAкак и раньше.

Либо положите что-нибудь в Col A, либо выполните завершение (xlup) из Col C

С некоторой переделкой это проще:

Private Sub CheckBox2_Click()

    Sheet9.Range("C70000").End(xlUp).Offset(1, 0).Value = _
                                 IIf(CheckBox2.Value, 1, 0)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...