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

  

时间: 2024-10-13 05:04:18

20170405xlVBA快速录入的相关文章

WPF 4.0 DatePicker 快速录入

WPF 4.0的DatePicker在通过键盘录入日期的时候是非常让人郁闷的.必须按照日期的格式来完整输入例如,比如输入“2010/10/10”才能识别.而实际上在一些要求快速录入的场合,用户更希望直接敲20101010就行了.遗憾的是,DatePicker没有一个属性可以设置说录入的格式是yyyyMMdd这种的. 实际上,仔细看一下DatePicker控件,它有一个DateValidationError事件,当输入的文本无法识别为日期时,就会触发该事件.我们可以利用这个事件来做一些事情. 为了

BOS项目 第6天(业务受理、自动分单、工作单快速录入、datagrid行编辑)

BOS项目笔记 第6天 今天内容安排: 1.业务受理环节分析 2.创建业务受理环节对应的数据表(业务通知单.工单.工作单) 3.实现业务受理.自动分单 4.datagrid的编辑功能 5.基于datagrid编辑功能实现工作单快速录入功能 6.演示权限控制demo 1. 业务受理分析 受理环节,是宅急送业务的开始,作为服务前端,客户通过电话.网络等多种方式进行委托,业务受理员通过与客户交流,获取客户的服务需求和具体委托信息,将服务指令输入我司服务系统. 客户通过打电话的方式进行物流委托,一个客户

1分钟把书中的文字快速录入电脑的方法

在工作中,我常常在想,要是能把纸上有用的文字快速输入到电脑中,不用打字录入便可以大大提高工作效率该有多好呀!随着科技的发展,这个问题在不断的解决,例如,现在市场上的扫描仪就带有OCR软件,可以把扫描的文字转换到电脑中进行编辑.但是,对于我们平常人来说,大多数人都是即不想多花钱购买不常用的设备,又不想费力气打字录入,那我就给大家提供一个我刚刚发现的方法吧!现在数码相机很普遍,也很常用,我们就从这里下手吧. 工具准备: 硬件:  电脑一台 数码相机   软件:  word2003(其它的版本我没有实

Excel的快速录入

数据有效性: 1.选择要限制数据有效性的区域: 2.点开[数据]选项卡选择"数据验证": 3.[设置]中选择"序列": 4.若手动输入则需要将内容使用英文符号分割开来(比如:A级,B级): 5.若嫌手动麻烦就使用右侧选择有效数据: 快速填写Excel中的内容 Alt+↑ 可以快速调用出钱面录入过得内容: 批量录入 1.经常输入带有小数点的数据 可以在[文件].[选项].[高级]中找到"自动插入小数点"小数点位数选择2,输入数据就会自动缩小一百倍

035 工作单快速录入 - bos

一.前台代码理解及修改 1.新增行也可完成提交原来编辑的行功能(如果有在编辑的行) //全局变量 var editIndex; function doAdd() { if (editIndex != undefined) { //表示有一行正在编辑,先结束编辑的行(会触发onAfterEdit) $("#grid").datagrid('endEdit', editIndex); } //没有行在编辑状态才能进行新增 if (editIndex == undefined) { //al

快速录入营业执照信息的解决方法

营业执照是作为一个企业成立的关键入口,也便成为了各个领域审核这个企业的必要文件,电子会的存档需要对企业营业执照进行扫描.信息录入.人工校对.归档等. 繁冗的信息若是手工输入,那必然会耗费时间,并且没办法保障准确率.不过,不用担心,只有想不到的没有做的不到的,译图智讯的高端OCR识别技术营业执照识别便能轻松解决这个问题. 此方案基于OCR识别技术,运用先进的图像处理技术,可以实现营业执照的毫秒级精准识别.其一站式智能化服务,彻底解决手工录入营业执照效率低下.费时费力的痛点. 营业执照上的统一社会信

dategrid快速录入一行数据的一波操作

1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>表格的行数据录入效果的实现</title> 7 <script type="text/javascript" src="../js/jquery-1.8.3.js"></script> 8 <script

在DevExpress程序中使用Winform分页控件直接录入数据并保存

一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数据,这种对于字段比较少,而且内容相对比较简单的情况下,效率是比较高的一种输入方式.本篇随笔主要介绍在DevExpress程序中使用GridView直接录入数据并保存的实现,以及使用Winform分页控件来进行数据直接录入的实现操作. 1.在GridView上展示数据 在GridView上展示数据,只

vin码识别年代,你还在手工录入嘛?

众所周知,Vehicle Identification Number缩写为VIN(车架号/车辆识别代码).是汽车制造厂为了识别而给一辆车指定的一组号码.vin码由17位数字.字母组成.为避免与数字的1,0混淆,英文字母"I"."O"."Q"均不会被使用.通过这一串数字,就能看出这是什么车.什么年代.车型.发动机型号等信息.因此我们认为它就是车的×××. 车架号在哪里? 车架号vin码一般位于前挡风玻璃左下角,或者在主驾驶车门铰链柱.门锁柱.门边上