Сохранение новой записи в Excel VBA не сохраняет новую запись - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть следующий код для сохранения новой записи. Я отображаю запись, выбранную из списка. Когда пользователь нажимает «Добавить новый», я очищаю текстовые поля и позволяю им вводить новые данные в текстовые поля. Когда они нажимают «Сохранить», только первое текстовое поле (номер участника) сохраняется с новым значением. Все столбцы принимают значение записи, которая отображалась до того, как пользователь нажал кнопку «Добавить новый».

Private Sub btnSave_Click()
    Dim ws As Worksheet
    Dim newrow As Long
    Set ws = Worksheets("Master")

    newrow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1

    ws.Cells(newrow, 1).Value = Me.txtMembershipNo.Value
    ws.Cells(newrow, 2).Value = Me.txtName.Value
    ws.Cells(newrow, 3).Value = Me.txtAddress.Value
    ws.Cells(newrow, 4).Value = Me.cmboxState.Value
    ws.Cells(newrow, 5).Value = Me.cmboxCategory.Value
    ws.Cells(newrow, 6).Value = Me.cmboxType.Value
    ws.Cells(newrow, 7).Value = Me.cmboxStatus.Value
    ws.Cells(newrow, 8).Value = Me.txtRemarks.Value

    btnDelete.Enabled = True
    btnAddNew.Enabled = True
    btnUpdate.Enabled = False
    btnSave.Enabled = False
    btnCancel.Enabled = False
End Sub

enter image description here

Private Sub ListBox1_Click()

    txtMembershipNo.Text = ListBox1.List(ListBox1.ListIndex, 0)
    txtName.Text = ListBox1.List(ListBox1.ListIndex, 1)
    txtAddress.Text = ListBox1.List(ListBox1.ListIndex, 2)
    cmboxState.Text = ListBox1.List(ListBox1.ListIndex, 3)
    cmboxCategory.Text = ListBox1.List(ListBox1.ListIndex, 4)
    cmboxType.Text = ListBox1.List(ListBox1.ListIndex, 5)
    cmboxStatus.Text = ListBox1.List(ListBox1.ListIndex, 6)
    txtRemarks.Text = ListBox1.List(ListBox1.ListIndex, 7)

    btnDelete.Enabled = True
    btnUpdate.Enabled = True

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