ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何输入数值直接返回对应数据

如何输入数值直接返回对应数据

作者:绿色风 分类: 时间:2022-08-17 浏览:99
楼主
breezy
Q:如果在一列中输入数值序号,回车直接返回序号对应数据?
A:代码如下:

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. On Error Resume Next
  3.     If Target.Column = 3 And IsNumeric(Target) And Target > 0 Then
  4.         Target = Range("K" & 2 + Target)
  5.     End If
  6. End Sub

00.rar
2楼
gvntw
可以是编号没有规律(不是刚好1、2、3……),并且可以选定多个单元格同时录入数据(不相邻的单元格也可以):
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim cs As Range, c As Range
  3.     Set cs = Application.Intersect(Target, Range("C:C")) '取改变的单元格与C列交集
  4.     If cs Is Nothing Then Exit Sub '如果交集不存在就退出
  5.     Application.EnableEvents = False '禁止触发连锁事件
  6.     On Error Resume Next
  7.     Set c = Range("J3:J17").Find(Target, LookIn:=xlValues, lookat:=xlWhole)(1, 2) '在"J3:J17"精确查找数值并返回到对应的K列单元格
  8.     cs = c.Value  '为交集赋值
  9.     Application.EnableEvents = True
  10. End Sub
3楼
lanye205
真是个学习的好网站

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap