zoukankan      html  css  js  c++  java
  • 20170405xlVBA快速录入

    Dim Rng As Range
    Dim Arr As Variant
    Dim LastCell As Range
    Dim FindText As String
    Dim ItemCount As Long
    Dim Dic As Object
    Private Sub CbOption_Change()
        FindText = CbOption.Text
        If Len(FindText) > 0 Then
            If Dic.Exists(FindText) = False Then
                Call FilterItems
            End If
        End If
    End Sub
    Private Sub CbOption_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        Application.EnableEvents = False
        If KeyCode = 13 Then
            LastCell.Value = CbOption.Text
        End If
        Application.EnableEvents = True
    End Sub
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Application.EnableEvents = False
        If Target.Column = 5 Then
            If Target.Rows.Count = 1 Then
                Set LastCell = Target
                Me.CbOption.Visible = True
                Me.CbOption.Left = Target.Left
                Me.CbOption.Top = Target.Top
                Me.CbOption.Width = Target.Width * 1.5
                Me.CbOption.Height = Target.Height * 1.5
                Me.CbOption.Text = ""
                Call AddItems
            End If
        Else
            Me.CbOption.Clear
            Me.CbOption.Visible = False
        End If
        Application.EnableEvents = True
    End Sub
    Private Sub AddItems()
        Me.CbOption.Clear
        Set Dic = CreateObject("Scripting.Dictionary")
        Set Rng = Application.ThisWorkbook.Worksheets("选项").Range("A1:A117")
        Arr = Rng.Value
        For i = LBound(Arr) To UBound(Arr)
            Key = CStr(Arr(i, 1))
            Dic(Key) = ""
            Me.CbOption.AddItem Key
        Next i
    End Sub
    Private Sub FilterItems()
        ItemCount = Me.CbOption.ListCount - 1
        Set Rng = Application.ThisWorkbook.Worksheets("选项").Range("A1:A117")
        Arr = Rng.Value
        For i = LBound(Arr) To UBound(Arr)
            Key = CStr(Arr(i, 1))
            If Key Like "*" & FindText & "*" Then
                Me.CbOption.AddItem Key
            End If
        Next i
        For i = ItemCount To 0 Step -1
            Me.CbOption.RemoveItem (i)
        Next i
    End Sub
    

      

  • 相关阅读:
    网络七层协议
    Sizeof与Strlen的区别与联系
    Java面试宝典(说说&和&&的区别)
    Java se基础(类的属性及关键字)
    了解java中垃圾回收机制
    MYSQL常用函数(系统信息函数)
    MYSQL常用函数(类型转化函数)
    MYSQL常用函数(格式化函数)
    MYSQL常用函数(控制流函数)
    【CF-1362】B. Johnny and His Hobbies
  • 原文地址:https://www.cnblogs.com/nextseven/p/7129198.html
Copyright © 2011-2022 走看看