Excel 防止将值从userform复制到表列
我有一个userform将客户信息输入到表中。我有以下措施来防止没有姓名的客户进入:Excel 防止将值从userform复制到表列,excel,vba,duplicates,userform,Excel,Vba,Duplicates,Userform,我有一个userform将客户信息输入到表中。我有以下措施来防止没有姓名的客户进入: If CBCustName.Text = "" Then MsgBox "Nothing to Add. Enter Customer Information.", vbOKOnly, "Enter Customer Data" CBCustName.SetFocus Exit Sub End If 我还想看看客户是否已经存在(CustInfo表的A列),并显示一个消息框,告诉用户不允
If CBCustName.Text = "" Then
MsgBox "Nothing to Add. Enter Customer Information.", vbOKOnly, "Enter Customer Data"
CBCustName.SetFocus
Exit Sub
End If
我还想看看客户是否已经存在(CustInfo表的A列),并显示一个消息框,告诉用户不允许重复。客户名称输入组合框CBCustName
此例程由命令按钮CmdAddNewCust启动。运行这两个检查后,它应该将用户输入控件的所有数据写入表的相应行/列。我有这个来做那部分,它似乎工作正常:
Set tblRow = CustInfoTable.ListRows
tblRow.Range(1, 1).Value = CBCustName.Value
tblRow.Range(1, 2).Value = TxtAddress.Value
tblRow.Range(1, 3).Value = TxtCity.Value
tblRow.Range(1, 4).Value = TxtState.Value
tblRow.Range(1, 5).Value = TxtZip.Value
tblRow.Range(1, 6).Value = TxtPhone.Value
tblRow.Range(1, 7).Value = TxtContact.Value
tblRow.Range(1, 8).Value = TxtULRate.Value
tblRow.Range(1, 9).Value = TxtLRate.Value
tblRow.Range(1, 10).Value = TxtStandby.Value
tblRow.Range(1, 11).Value = TxtFuelSCharge.Value
我尝试过修改几个代码段,但我遗漏了一些东西。有人能告诉我正确的方向以防止重复输入吗?一如既往,我们非常感谢您的帮助。您需要与客户一起预先搜索该范围,并检查该范围内是否已存在客户名称,例如:
dim rngCust as range
set rngCust = thisworkbook.sheets("SheetName").Range("A:A").Find(CustomerName)
if rngCust is nothing then
addCustomer
else
msgbox "Customer already exists"
end if
您需要与客户一起预先搜索该范围,并检查该范围内是否已存在客户名称,例如:
dim rngCust as range
set rngCust = thisworkbook.sheets("SheetName").Range("A:A").Find(CustomerName)
if rngCust is nothing then
addCustomer
else
msgbox "Customer already exists"
end if
好极了谢谢你,西博阿舒。我修改了您的代码以使用一个表:“Set rngCust=CustInfoSheet.ListObjects(“CustInfo”).ListColumns(1.DataBodyRange.Find(CustName)”,这非常有效!再次感谢你抽出时间来帮忙。哦,对不起,马科斯。这几天来,我一直在努力寻找答案。非常感谢!好极了谢谢你,西博阿舒。我修改了您的代码以使用一个表:“Set rngCust=CustInfoSheet.ListObjects(“CustInfo”).ListColumns(1.DataBodyRange.Find(CustName)”,这非常有效!再次感谢你抽出时间来帮忙。哦,对不起,马科斯。这几天来,我一直在努力寻找答案。非常感谢!