• VBA实现随意输入组合码,查询唯一标识码


    记录背景:

    需要在excel中查询出组合码,对应的唯一标识码。

    举例 组合码:4+5+6+9+1*2   标识码:A1

    界面随意输入组合码:1*2+4+5+6+9  输出标识码:A1

    VBA实现:

    Private Sub CommandButton1_Click()
        TextBox2.Value = ""
        Dim str, searchValue
        Dim i
        i = 1
        searchValue = TextBox1.Value
       
        Dim arrSearchValueList
        arrSearchValueList = Split(searchValue, "+")
        'MsgBox UBound(arrSearchValueList) - LBound(arrSearchValueList)
        Dim searDict
        Set searDict = CreateObject("Scripting.Dictionary")
        Dim k&
        For k = 0 To UBound(arrSearchValueList)
             searDict(arrSearchValueList(k)) = ""
        Next
       
        Dim txtResult
        txtResult = TextBox2.Value
       
        For R = 1 To Worksheets(1).UsedRange.Rows.Count
                str = Worksheets(1).Cells(R, 1).Value
                Dim arrSourceValueList
                arrSourceValueList = Split(str, "+")
               
                If (UBound(arrSearchValueList) - LBound(arrSearchValueList)) = (UBound(arrSourceValueList) - LBound(arrSourceValueList)) Then
                    Dim j&, a&
                    a = 0
                    For j = 0 To UBound(arrSourceValueList)
                        If searDict.exists(arrSourceValueList(j)) Then
                            a = a + 1
                        Else
                            a = a - 1
                        End If
                    Next
                    If ((a - 1) = (UBound(arrSearchValueList) - LBound(arrSearchValueList))) Then
                        If txtResult = "" Then
                            txtResult = str
                        Else
                            txtResult = txtResult & "|" & str
                        End If
                    End If
                    Set d = Nothing
                End If
            i = i + 1
        Next
       
        TextBox2.Value = txtResult
    End Sub

  • 相关阅读:
    ubuntu15.04下安装配置docker
    在Vmware/VirtualBox虚拟机环境中正确打开虚拟机
    windows下使用cx_freeze将Python程序打包成exe可执行文件
    Python正则表达式学习小结
    Ubuntu环境下利用Python3+PyQt5+Eric6进行GUI编程
    C#学习笔记——控件篇
    商务英语学习第一课(lending(借贷))
    Ajax的请求方式:get和post
    XML就像是扩展应用范围的HTML
    JQ数组=jQuery对象数组
  • 原文地址:https://www.cnblogs.com/Elsie/p/4334920.html
Copyright © 2020-2023  润新知