排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
利用Combo Box进行数据录入
利用Combo Box进行数据录入
VBA语言専攻
2021-08-25
109
【分享成果,随喜正能量】有了目标,不要总是考虑离目标还有多远,还有多久才能实现,越是对时间恐惧,目标就会越远,甚至可能会消失。只要清楚自己的目标,并积极努力去追求就可以了,不要考虑什么时间能够实现目标。
《V
BA
之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用E
XCEL
工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“
VBA
之E
XCEL
应用”的第十五章“
ActiveX控件(ActiveX Controls)”的第9
节:利用Combo Box进行数据录入。
第九节 组合框(
Combo Box
)的应用之二
这讲我们讲解一下组合框在实际工作中的具体应用,这个组合框大多数是作为限制输入条件来采用的。也就是说我们在录入数据的时候,要录入的值是有一定限制的。比如我们要在sheet9的工作表中录入人名,但这些人名是某个范围限定的,这时就有必要用组合框这个控件了。
1
利用组合框录入人名的实际场景
在工作表SHEET9中,要录入人名,但人名是取值于工作表“资料”的第一列的人名:
这个时候就可以用组合框将上面的人名提取出来,放到这个组合框中,来实现我们的目的。利用这个组合框可以让录入工作变得非常方便。而且,由于事先限定了人名的范围,可以让我们的录入不会出现书写错误。这种应用的实际场景对于VBA来说是非常简单的,几行代码就可以解决问题,但是对于实际工作是非常有益的,这类问题我们在实际处理的时候要多多利用。
2
利用组合框录入人名的思路分析
为了实现人名的准确录入,我们先分析一下实现的思路:
1) 从源文件中获取人名并添加到组合框中。
2) 在工作表中变为活动工作表时完成数据的加载工作。
3) 在点击某个单元格时,显示组合框。
4) 在组合框发生改变时将组合框的值写入单元格。
5) 当没有选择时,单元格的选择发生改变时直接写入组合框的默认显示值。
6) 当单元格完成数据填入后,组合框隐藏。
3
利用组合框录入人名的代码及代码测试
我们看下面的代码:
Private Sub ComboBox1_Change()
ActiveCell.Value = ComboBox1.Value
ComboBox1.Visible = False
End Sub
Private Sub Worksheet_Activate()
i = 2
With ComboBox1
.Clear
Do While Sheets("资料").Cells(1, i) <> ""
.AddItem Sheets("资料").Cells(1, i).Value
i = i + 1
Loop
.Value = Sheets("资料").Cells(1, 2).Value
.Visible = False
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Value = ComboBox1.Value
If Target.Count = 1 Then
ComboBox1.Visible = True
ComboBox1.Left = Target.Left
ComboBox1.Top = Target.Offset(1, 0).Top
End If
End Sub
代码截图:
代码解读:
1) 上述代码共有三个事件,一是工作表的Worksheet_Activate事件,完成组合框数据的加载;二是Worksheet_SelectionChange事件,完成组合框的显示设置;三是ComboBox1_Change事件,完成单元格数据的填入。
2)
With ComboBox1
.Clear
Do While Sheets("资料").Cells(1, i) <> ""
.AddItem Sheets("资料").Cells(1, i).Value
i = i + 1
Loop
.Value = Sheets("资料").Cells(1, 2).Value
.Visible = False
End With
上述代码在工作表
"资料"
中建立一个循环,读取第一行的数据,加载到组合框中,利用的是
AddItem
方法。同时又给组合框填入了一个初始值:
Sheets("资料").Cells(1, 2).Value
,并隐藏了这个组合框。
3)If Target.Count = 1 Then
ComboBox1.Visible = True
ComboBox1.Left = Target.Left
ComboBox1.Top = Target.Offset(1, 0).Top
End If
上述代码对于显示组合框的条件进行设置,同时给出了显示的位置。
4)ActiveCell.Value = ComboBox1.Value
以上代码将组合框的值填入工作表中。
4
利用组合框录入人名的代码实现效果
下面我们将测试一下上述代码的实现效果,在S
HEET9
工作表中点击任意单元格:
我们点击其中的一个人名:
在人名录入的同时,组合框也就隐藏了。
今日内容回向:
1) 本讲的代码中如果设置仅在A列点击出现组合框将如何修正代码?
2) 在工作表中数据的选择录入时如果人名是有重复的该如何处理?
本讲内容参考程序文件:工作簿15.xlsm
分享成果,随喜正能量
l
VBA的学习教程(初级、中级、高级):
VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA的应用界定。在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了八部VBA专门教程,学习顺序七、一(或者四)、三、二、六、五;或者七、八。其中七,一(或者四)是初级;三,二,八是中级;六,五是高级:
第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。
第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。目前这套教程提供的是修订第一版教程,程序文件通过32位和64位两种OFFICE系统测试。
第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是初级及中级人员代码精进的手段。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。这套教程是第一套教程(修订一版)的视频讲解,视频更易接受。
第五套:VBA中类的解读和利用
这
是一部高级教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的领悟了,领悟一种佛学的哲理。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
第六套教程:VBA信息获取与处理,
这
是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。
第七套教程:VBA之EXCEL应用
这是一部初级教程这部教程共三册,从从创建宏、对话框、工作簿和工作表对象、单元格对象等基础内容讲起,到循环结构、错误处理、字符串操作、日期和时间、事件、数组应用,函数过程等方面,一直讲解到控件和窗体对象的应用都是我们提高自己EXCEL水平的必须。
第八套教程:VBA之WORD应用 是围绕“面向对象编程”展开的讲解,让大家充分认识Word中VBA的对象,以及对象的属性、方法及利用。教程共分三册,十六章,其中前十五章是各种对象属性、方法的讲解,每节都有专门的实例说明这些属性方法的具体应用,最后一章是结和具体应用场景的讲解,详细讲解了二十八个实际工作中有代表性的实例,紧扣word数据的批量处理,发挥VBA的长处。本套教程实例众多,大家可以拿来即用,或者修正后加以利用。由于这套教程是围绕“面向对象编程”来展开,建议大家先学《VBA之Excel应用》,对VBA中的对象、属性、方法、事件有一定认识后再来学习这套教程。
组合框
vba
vba字典
vba数组
单元格
文章转载自
VBA语言専攻
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨