如果找到重复,VBA用户表单会发出警告

时间:2017-10-11 13:23:54

标签: excel vba excel-vba

我想我需要尝试让这个问题更容易。所以这里;

我在Excel中创建一个用户表单,用作数据捕获表单。

在此表单中,我有一个名为export const SET_USER_TEAMS = 'SET_USER_TEAMS';的文本框。在此处放置了PolBX中的提交数据,并使用此代码将其复制到“G”列中

PolBX。这很有效。

我发现可能存在用户可能意外地两次使用相同的唯一身份证号码的情况。所以我试图找出如何编码它,在用户输入唯一身份证号后,它将检查该字符串(由字母和数字组成)。如果它找到已经在第7列(G)中的字符串,则必须说出类似

的字符串

Cells(emptyRow, 7).Value = PolBX.Value

我在想我需要使用以下子程序

"Policy number already Used, please try again"

有些人可以协助创建此代码...... 你也可以解释一下你在一周前创办VBA时你在做什么

2 个答案:

答案 0 :(得分:0)

您可以添加以下代码来搜索您的保单号,如果找不到任何内容,则PolLookup = Nothing

Option Explicit

Sub Test()

    On Error GoTo ErrHandler

    Dim ws As Worksheet, PolLookup As Range, LookupRng As Range
    Set ws = ThisWorkbook.Worksheets(1)

    'This is the range you want to search, it can be a long range
    'or it can be a single cell.
    Set LookupRng = ws.Range("A:A")

    'Range.Find is looking for your value in the range you specified above
    Set PolLookup = LookupRng.Find("YourLookupValue")

    'PolLookup = Nothing if it didn't find a match, so we want to use
    'If <NOT> Nothing, because this suggests .Find found your value
    If Not PolLookup Is Nothing Then
        Err.Raise vbObjectError + 0 'Whatever error you want to throw for finding a match
    End If

    'Exit before you reach the ErrHandler
    Exit Sub
ErrHandler:
    If Err.Number = vbObjectError + 0 Then
        'Handle your error. Do you want to stop completely? Or have the
        'User enter a new value?
    End If

End Sub

基本上,在用户在UserForm中输入值后,只需调用此Sub即可快速查找。

答案 1 :(得分:0)

到处玩,我发现了一种更简单的方法!我附上一个按钮,附上以下代码

let o = 'www.example.com/products/cream/handcreamproduct1'.split('/').filter(function(elm, i, arr){
    if(i>arr.length-3){
  return elm;
  }
});
console.log(o);