我目前正在我的工作场所开发一个数据输入系统,利用用户形式以易于输入,并且在某些编码上有点卡住。我希望它检查是否已保存的数据中插入的参考号是否在表格中,如果不将数据添加为新行。我已经管理了这一方面,但是在下一部分上陷入困境 - 如果存在参考号,则在编写现有数据上。到目前为止,我的代码是
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)点上引起了错误,而我对如何进行分类感到迷失了。
有什么想法?
类似的东西将有效:
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
您确定在那里的Find()
中想要xlPart
吗?似乎您想要一个完全匹配的...