如何获取公式、操作用户表单中的工作表、列出用户表单名称等问题
最近有很多朋友通过在微信上留言、发消息、发邮件的方式,问了一些关于Excel和VBA应用的问题。在这里,我选择一些问题给出自己的答案,希望对朋友们有所帮助。以后每个周末,我都会把我已经回答过的一些问题以问答的形式推送出来,分享给大家。
问:我想通过去掉工作表中公式的等号直观地得到公式?
答:这可以通过使用以下VBA代码来实现:
子GetFormula()
“将数据显示为工作表”代表公式所在的工作表。
“将公式显示为工作表”放置公式文本的工作表。
将公式定义为范围'公式所在的区域。
调光范围
模糊如龙
设置周数据=工作表(“工作表1”)
设置工作表单=工作表(“表单2”)
设置rngFormula=wksData。used range . special cells(xlcelltype formulas)
wksFormula。细胞,清除
将公式放在wksFormula工作表中。
对于公式中的每个rng
i=i 1
wksFormula。范围(“A”I)。值=中间值。公式2,(Len(rng。公式)))
下一个rng
末端接头
代码,wksData表示公式所在的工作表,也就是你想得到的这个工作表中的公式;WksFormula表示放置获得的公式的工作表。Excel会把等号开头的表达式当作公式来处理,所以我们会先去掉公式开头的等号,这样公式文本就可以顺利放置了。
问:如何通过用户表单显示对应的工作表?
答:在VBE中,插入一个用户表单,在其中放置一个列表框和两个按钮,然后在用户表单模块中输入以下代码:
私有子命令按钮1 _单击()
将I调成整数,将字符串调成字符串
对于i=0至列表框1。列表计数1
如果列表框1。选定(i)=真则
str=ListBox1。清单(一)
如果…就会结束
接下来我
工作表。使活动
末端接头
私有子命令按钮2 _单击()
卸载用户表单2
末端接头
私有子用户表单_初始化()
将周调暗为工作表
对于本工作簿中的每一周。工作表
列表框1。AddItem (wks。名称)
下一周
末端接头
操作后的效果如下图1所示:
图1
其中,初始化用户表单时,左侧列表框显示工作簿中所有工作表的名称。选择一个工作表名称后,单击右侧的“激活选定的工作表”按钮将使该工作表成为当前工作表。单击关闭按钮使用户表单消失。
问:你能遍历所有用户表单并获得每个用户表单的名称吗?
答:在VBE中,插入一个标准模块,输入如下代码:
Sub testListUserFormName()
将字符串变暗为字符串
将VBC调成VBIDE。VBComponent
Str="创建的用户表单如下: "。
对于本工作簿中的每个VBC。VBProject.VBComponents
如果VBC。Type=vbext_ct_MSForm然后
str=str vbCr VBC。名字
如果…就会结束
下一个VBC
如果str="那么"
MsgBox“找不到用户表单!”
出口接头
如果…就会结束
MsgBox字符串
末端接头
如果在VBE中有两个用户表单,UserForm1和UserForm2,运行上述代码后的效果如下图2所示:
图2。
版权声明:如何获取公式、操作用户表单中的工作表、列出用户表单名称等问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。