昨天经过大神的办公桌时,无意中看见大神在Excel单元格中输入供应商代码,一按回车,单元格内容马上变成了供应商的公司名称。我震惊了,感觉好神奇啊。我说为什么大神每次填单子都是又快又准确呢?原来他不需要用键盘输入长长的供应商公司的名字,而只是输入只有5个数字的供应商代码,就会自动转换为供应商公司的名字,还能保证不过出错!

我赶紧回到座位上查找相关资料,看看是如何实现的?不看不知道,原来实现起来也很简单。又学了一招。现在也迫不及待的分享给小伙伴们。具体实现效果如下:

是不是很神奇?很省时间?以后遇到很多会经常输入的东西,是不是都可以通过输入简单的编码实现?并且不会出错?

具体实现代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim SupplierCode As String
Dim MyRng As Range
Dim i As Long
Dim ResultRng As Range
If Target.Column = 1 And Target.Row > 1 And Target.Value <> "" Then
    SupplierCode = Target.Value
    With Worksheets("code")
        i = .Range("A1").End(xlDown).Row
        '从第二列开始查找
        Set MyRng = .Range(.Cells(2, 1), .Cells(i, 1))
        Set ResultRng = MyRng.Find(what:=SupplierCode)
        '如果没有查找到
        If ResultRng Is Nothing Then
            Exit Sub
        End If
        '向右偏移一列找到数据
        Target.Value = ResultRng.Offset(0, 1).Value
    End With
End If

End Sub

其中函数名称Worksheet_Change是Excel VBA自带的事件,作用是当worksheet中的单元格内容被改变时,激活此事件,执行此事件中的代码。

打开一个工作薄,点击工作表名称标签,选择“查看代码”命令进入VBE编辑窗口,在代码窗口的对象列表中选择“Worksheet”,在事件列表中选择“Change”,这时代码窗口中会出现一段代码:

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

相关说明如下:

  • Worksheet是对象名,Change是事件名称,对象名称和事件名称用下划线连接;

  • (ByVal Target As Range):括号里的是程序运行传递的参数,Target是一个Range对象,即单元格区域,指触发Change事件的单元格,也就是数值被修改了的单元格。

  • 我们只需要将所需要执行的代码写在Sub与End Sub之间,这样,在工作表的某个单元格发生改变时,就自动执行Sub与End Sub之间的程序代码。

此文章我们分享了Excel单元格输入自动替换的知识,同时也让小伙伴们认识了worksheet的change事件,以后是不是我们可以将在工作中经常输入的重复信息都可以使用代码表示,而直接输入代码就可以实现相关内容的快速输入了。小伙伴们有什么想法,欢迎后台留言交流,想获取源文件的小伙伴们,也请扫描下方二维码,关注 吉祥编程 公众号 联系我吧。

Excel神奇的输入自动替换,原来就是这么简单!相关推荐

  1. Excel 取消Internet及网络路径自动替换为超链接

    Excel 取消Internet及网络路径自动替换为超链接: 1.文件 =>选项 =>校对 点击自动更正选项 2. 自动更正 配置修改 点击"键入时自动套用格式"tab ...

  2. excel宏根据表格自动计算机,Excel使用宏录制自动将输入内容排到另一张表的操作方法...

    最近很多朋友咨询关于Excel使用宏录制自动将输入内容排到另一张表的操作方法,今天的这篇教程就来聊一聊这个话题,希望可以帮助到有需要的朋友. Excel使用宏录制自动将输入内容排到另一张表的操作方法 ...

  3. EXCEL中数据的自动匹配主要包含的内容

    EXCEL中数据的自动匹配主要包含的内容: EXCEL中无法直接使用SELECT语句进行数据查询.定位.匹配,必须依赖其自身提供的函数.本文将介绍三种EXCEL中的数据自动匹配方法,使单元格内容能够自 ...

  4. xlsx表格怎么做汇总统计_excel表格 的自动统计数据-excel,怎么做数据自动汇总

    excel,怎么做数据自动汇总 在EXCEL里面查找然后自动统量的具骤如下: 我们需要的材料分别是:电脑Excel表格. 1.首先我们打开需要编辑的Excel表格,点击打开"查找和选择&qu ...

  5. excel查找指定表计算机,两个excel表格找文本相同数据库-excel如何查找并自动填写对应数据...

    excel表格怎么检查有重复的数据库 在EXCEL中如何统计同时满足两个条件的的数据个数 安装Beyond Compare3 1.在百度网页搜索中输入Beyond Compare,找到红色箭头所指的软 ...

  6. excel空白单元格自动填充上一单元格内容

    如何实现excel空白单元格自动填充上一单元格内容: 1:选中该列 2:查找和选择处选择定位条件为空值: 要将红线处是空格,填充为上面单元格的数值: 在编辑区域输入=向上箭头 然后不要直接回车,而是按 ...

  7. excel中单元格日期为计算机日期,#excle里设置今天的日期#excel表格时间如何自动修改为当天的时间...

    excel表格时间如何自动修改为当天的时间 插入=TODAY()这个函数 如何在EXCEL表格里显示今天的日期 两种,一是永久显示今如今天显示2016-7-3,明天仍然显示显示2016-7-3么在需要 ...

  8. php表格单元格怎么实现排序,excel表格数据怎么自动排列-excel表格如何实现自动排序...

    excel表格如何实现自动排序 1.首先打excel表格,在第一个单中输入星期,如图所示. 2.在单元格下面的单元入星期一,鼠标放在星期一单元格的右下角. 3.完成以上步骤后,鼠标不放,即自动排序出现 ...

  9. 单元格等于计算机日期,《excel表格怎样自动填写日期》 Excel单元格中自动获取当前日期与时间...

    在excel里如何在单元格内用快捷键使之显示当前日期或时间 Ctrl : 当前日期Ctrl Shift : 当前时间 EXCEL表格中只显示日期不要显示时间 右击"单元格格式"设置 ...

最新文章

  1. linux ls 命令 路径,使用ls命令在Linux中使用完整路径列出文件
  2. ASP.NET画图控件 Chart Control 免费控件
  3. 基于DOM的Web信息提取方法
  4. java分布式 mq_分布式系统消息中间件—RabbitMQ的使用进阶篇
  5. yapi 接口文档_1分钟docker部署顶尖 API 文档管理系统
  6. Word报告自动生成(例如 导出数据库结构)
  7. 第一个 Win32 窗口程序
  8. python开发【基础二】
  9. Facebook热门应用被曝向第三方提供用户信息
  10. oracle column的设置,SQL*PLUS的命令行——column命令 - [ORACLE]
  11. 在Linux上配置xampp后远程访问域名报错
  12. python 豆瓣电影top250_「豆瓣电影top250」豆瓣电影TOP250抓取 - seo实验室
  13. NLTK-004:加工原料文本
  14. 一些牛逼哄哄的javascript面试题
  15. spring schedule 配置多任务动态 cron 【增删启停】
  16. 什么是电口模块?它和光模块有什么区别?
  17. 好女人必看行为守则100条----男人也学学吧!
  18. 业务知识与技术知识的积累同样重要
  19. 51单片机——基于单片机的旋转LED显示
  20. python爬取网站四种姿势_python爬取网站数据四种姿势,你值得拥有~

热门文章

  1. 产品、测试…...我信你个鬼,你们坏得很!
  2. 大疆无人机推流至EasyCVR平台出现画面模糊是什么原因?
  3. 计算机取证论文结论,计算机取证论文.doc
  4. 学Java的第一步--感jio不太行
  5. java 接入百度地图api
  6. 无人驾驶直升机(Autonomous Helicopter Flight)
  7. 利用JS代码判断火绒安全是否在用户本地运行
  8. 过期高权重有外链历史的老域名挖掘查询软件
  9. C语言练习题:作品得分(数组)
  10. Table 标签详解