我目前正在工作场所开发数据输入系统,它利用用户表单来简化输入,并且在某些编码上有些卡住。我希望它检查插入到表单中的参考号是否在已保存的数据中,如果没有,请将该数据添加为新行。我已经解决了这方面的问题,但在接下来的部分中进行了介绍-如果存在参考编号,则覆盖现有数据。到目前为止,我的代码是
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)处引发了错误,我不知道如何进行排序。
有什么想法吗?
答案 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()
吗?似乎您想要完全匹配...