需要有关Excel,VBA和用户窗体的帮助,特别是在编写现有数据方面

时间:2019-03-05 20:37:17

标签: excel vba

我目前正在工作场所开发数据输入系统,它利用用户表单来简化输入,并且在某些编码上有些卡住。我希望它检查插入到表单中的参考号是否在已保存的数据中,如果没有,请将该数据添加为新行。我已经解决了这方面的问题,但在接下来的部分中进行了介绍-如果存在参考编号,则覆盖现有数据。到目前为止,我的代码是

Sub savebutton_click ()

Dim emptyrow As Long
Dim r as Excel.Range

Set r = sheets("data").range("a:a").find(what:=Auditref.Text.LookAt:=xlPart, MatchCase:= True)

If r Is Nothing then
    emptyrow = WorksheetFunction.CountA(range("a:a")) + 1
    Cells(emptyrow, 1).value = auditref.value
    Cells(emptyrow, 2).value = datereview. Value
Else
    k = Auditref.Value
    Cells(kRow, 2).value = datereview.value
End if

End sub 

它在单元格(kRow,2)处引发了错误,我不知道如何进行排序。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

类似的事情会起作用:

Dim sht as worksheet, r as range

set sht = sheets("data")
Set r = sht.range("a:a").find(what:=Auditref.Text, _
                              LookAt:=xlPart, MatchCase:= True)

If r Is Nothing then set r = sht.cells(sht.rows.count, 1).end(xlup).offset(1, 0)
with r.entirerow
    .cells(1).value = auditref.value
    .Cells(2).value = datereview.value
end with

确定要在xlPart中插入Find()吗?似乎您想要完全匹配...