如何在不按下命令按钮时不更新数据库脚本以将其他数据添加到下一行中?

问题描述 投票:0回答:1

所以我有一个数据库脚本,我正在使用excel UserForm为我的医院制作,但是由于某些原因,当我已经添加了一个病人之后单击“添加病人”按钮时,它不会进入下一个空行来输入一个新病人。除非我关闭UserForm并重新打开它,否则它将停留在同一行上,然后它将新数据输入到下一行,但仍不会更新以转到下一行以添加新数据。下面是添加患者按钮的代码,也是指向我的excel文档的链接。我不知道自己想念的是什么,也许我只需要再看看另一只眼睛。

Excel Document

Private Sub cmdAddPatient_Click()
    With Me
        'check the caption
        If .cmdAddPatient.Caption = "Add Patient" Then
            'rData has been defined so to get the row to add data we just need to count the Rows in that Range & add 1
            lRw = rData.Rows.Count + 1
        End If
        'because we have declared rData as a Range we can actually treat it as we would aA WORKSHHEET, _
         So, rData.Cells(1,1) refers to the first cell in the Range, i.e. A5
        For iX = 1 To iCol
            rData.Cells(lRw, iX).Value = Me("txt" & iX).Value
            Me("txt" & iX).Value = Empty
        Next iX
        'autofit the columns of Data
        rData.Columns.AutoFit
        'update data range
        Set rData = Sheet1.Range("A5").CurrentRegion
        'Set rData = Sheet1.Cells(lOffset, 1).CurrentRegion
        .lstInfo.Clear
        .lstInfo.List = Sheet1.Range("A5").CurrentRegion.Offset(1).Value
        .txt1.Value = WorksheetFunction.Max(rData.Columns(1)) + 1
        .Hide
        .cmdAddPatient.Caption = "Add Data"
        .Show
    End With
End Sub
excel vba
1个回答
0
投票
当您使用lRw变量查找最后一行时,从技术上讲,它不在rData范围内。因此,将其放在rData的最后一个可用范围内。

我的建议是,不要在范围内找到最后一行,而是根据A列在工作表中找到最后一行。然后使用它来输入工作表的最后一行。

© www.soinside.com 2019 - 2024. All rights reserved.