如何从VBA中的选项卡上的控件获取值?

2024-01-12

在选项卡条的不同选项卡中,我有每个选项卡中不同的输入值。我需要编写一个代码来获取所有这些值并执行一些工作,例如在单击按钮时汇总每个选项卡的值。

谁能帮我做这个吗?在我的代码中,当我在一个选项卡的文本框中输入值时,它也会更改所有其他选项卡的值,因此无法接收每个选项卡的不同值。有什么想法吗?


多页与选项卡条


多页是具有“页面”的对象。每个页面都可以保存它自己的控件集合,然后可以直接或通过包含的页面对象引用这些控件。

选项卡条是带有“选项卡”的对象。与“页面”对象不同,选项卡没有自己的控件。相反,有only原始控件,对所有“选项卡”可见。

程序差异

由于多页的每个页面都有一组不同的控件,因此需要很少的内务处理。页面的选择会影响哪些控件可见,并且控件会自动保留分配给它们的值(如预期)。

对于选项卡条,因为只有initial一组控件,代码中需要进行大量内务处理。选项卡条的选择不会自动影响控件中的值。相反,控件充当would如果它们根本不在选项卡栏中,这是可以预料的。


标签条解决方案


设置一个可用于保存控件的各种值的变量(数组、集合、字典)。然后,在TabStrip_Change()事件,存储以前的值,并重置新选项卡的控件(或填写新选项卡上次保存的值)。

我建议添加一个用户表单级别变量Dim old_tab as Long您可以将其设置为末尾的当前页面TabStrip_Change()事件。 (这对于检索正确选项卡之前填充的值非常有用)。

对于我的示例代码,我将使用数组。但是,由于数组在改变长度方面不太灵活,因此如果需要,您还可以考虑使用字典或集合。

对于下图所示的用户窗体,以下代码使单个文本框的行为就像每个选项卡有一个不同的文本框一样。每当选项卡条发生更改时,它还会保存这些值。 (注意:如果您随后使用保存的值进行计算,请记住首先更新当前选项卡条的值。)

Option Explicit
Dim old_tab As Long
Dim textValues As Variant

Private Sub TabStrip1_Change()
    textValues(old_tab) = TextBox1.Value 'Saves the old value
    TextBox1.Text = textValues(TabStrip1.Value) 'Updates value to reflect tab change
    old_tab = TabStrip1.Value 'updates tab # variable
End Sub

Private Sub UserForm_Initialize()
    ReDim textValues(0 To TabStrip1.Tabs.Count - 1) 'tabs are zero-based, so count is always one more than the maximum tab value
    old_tab = TabStrip1.Value 'Ensures that the first value will be saved to correct location at the tab change
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从VBA中的选项卡上的控件获取值? 的相关文章

  • 如何区分列表框中显示的文本和实际值?

    我有一个带有多选选项的列表框 我使用以下方式填充它addItem功能 我在 Google 上找不到任何有关此内容的文章 但我需要区分列表框中显示的文本和实际值 例如 shown hiddenvalue monday A1 tuesday A
  • 了解从 MsgBox 返回的响应代码

    我对编程很陌生 我刚刚开始学习 VBA 和 Excel 我在这个网站上遇到并做了这里的例子 但我对这段代码有疑问 我知道变量是使用 Dim 语句声明的 Message 这里是数据类型为整数的变量 我不太明白的是 这里的 6 和 7 是什么意
  • 从 CSV 中去除额外的文本限定符

    我有一个 CSV 其中某些字段由 符号分隔作为文本限定符 参见下面的例子 请注意 每个整数 例如 1 2 3 等 都应该是一个字符串 合格的字符串被 符号包围 1 2 3 qualifiedString1 4 5 6 7 8 9 10 11
  • 在单元格中查找以逗号分隔的多个值并返回以逗号分隔的多个值

    如果有人可以帮忙的话 我们将此表称为 1 我想在此处执行查找 可以将工作表 2 中 B 列的值引入工作表 1 中的 B 列 返回的多个值也应该用逗号分隔 我在这里尝试使用 textjoin 公式 但它搞砸的地方是 例如它将 A12 计为 A
  • 按字母顺序对组合框值进行排序

    我的 Excel 用户表单中有一个组合框 按字母顺序排序的最简单方法是什么 它的值是在 vba 中硬编码的 新的值只是添加到底部 因此它们不按任何顺序排列 当前正在使用用户表单 以便我们的用户可以将数据从我们的数据库导入到 Excel 中
  • 从 Excel VBA 调用 Bloomberg BQL 查询

    出于复杂的原因 我想在 VBA 中自动调用 Bloomi BQL 查询 我正在从 VBA 脚本更改 Excel 工作表中 BQL Query 公式的输入 并调用 Application Calculate 来运行查询 显示更改为 N A 请
  • VBA复制单元格值和格式

    我如何修改以下代码以便不仅复制值而且复制字体样式 例如大胆或不大胆 谢谢 Private Sub CommandButton1 Click Dim i As Integer Dim a As Integer a 15 For i 11 To
  • SQL查询从表的每条记录生成多条记录

    我有一个包含 3000 条记录的表 使用其中的每一条记录 我必须生成大约 200 条记录 总共 600k 条记录 并通过 SQL Server 2012 将它们插入到第二个表中 我尝试使用 VBA 执行此操作 从第一个表中选择数据 计算 然
  • 我需要使用 VBA 将数据从 Excel 插入 SQL Server

    我需要插入test vba xlsx将数据写入 SQL Server 到特定数据库 Sub insertion Dim conn As ADODB Connection Dim rs As ADODB Recordset Dim sConn
  • VBA - 使用字符串串联调用子例程

    是否可以使用字符串串联来调用 VBA 中的子例程 例如 Sub Call This 2019 do something end sub Sub From this Call Call This str 2019 Sub 我使用这种方法没有任
  • 使用 VBA 将数据从 Excel 导出到现有 PowerPoint 幻灯片

    我正在编写一个小型 excel 插件来进行一些简单的数据分析 但不幸的是我不是 VBA 程序员 到目前为止我已经做了什么 从巨大的 Excel 工作簿中获取数据并执行计算 将结果写入预先格式化的 Excel 骨架 文件 我接下来想要做什么
  • 如何从Excel调用VBA函数

    我有一个 excel 文件 我必须在其中放置验证规则 我有一个单元格表示 客户时间 用户可以在其中输入时间 但它是自定义时间 用户可以这样输入时间 23 45 98 20 100 30 用户不能输入字符串 并且不能输入除冒号之外的特殊字符
  • 在Excel中过滤后打印可见区域的宏

    我有一个根据过滤表的宏column A价值观 现在我想打印only过滤器后的可见行 但遗憾的是它打印了所有行 包括过滤期间隐藏的顶部和底部行 在我的工作表中 有来自的数据Column A I 但打印区域只能是Columns C I 过滤后的
  • 连续工作表切换循环

    我有一个 Excel 电子表格来显示 SQL 数据图表 这些图表将显示在我们机加工车间的显示器上 该电子表格有 45 个选项卡 我需要在选项卡之间切换 每个选项卡间隔 10 秒 然后返回到第一个选项卡并重复循环 I found 如何使用 V
  • 如何通过VBA代码修复仅在Excel共享模式下发生的运行时错误400

    我真的不知道400错误是什么原因造成的 下面的代码在正常模式下运行得很好 但是一旦我在共享模式下启用 Excel 并尝试使用用户表单 它就会给我 VBA 400 我在这里尝试做的是在向用户显示用户表单后更改形状的文本并禁用其 OnActio
  • 我可以使用 VBA 将密码“传递”到 Excel 中的外部数据库连接吗?

    我正在尝试使用 VBA 隐藏我在 Excel 工作表中设置的数据连接的密码 由于 Excel 以纯文本形式存储外部数据源的密码 因此我想让 VBA 调用表的刷新并提供密码 我录制了刷新表格并输入密码的宏 但令我沮丧的是 它似乎省略了密码部分
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • 是否有任何公式可用于将特定单元格复制指定次数?

    目前我正在处理一份数据 其中我有一个公司名称列表 例如 1 A 2 B 3 C 还有很多 需要的结果是 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C 等等
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未

随机推荐

  • Paytm sdk ios集成打开Paytm付款表格?

    在 iOS Xcode 7 中集成 Paytm sdk 2 1 并配置为进行支付 我有一个表格 其中需要填写金额和其他字段 然后有一个 Payment 按钮 这是我正在使用的代码 Step 1 Create a default mercha
  • jqGrid 卡在加载中?

    我正在尝试使用 JQuery 插件jqGrid http www trirand com blog 使用 asp net mvc 应用程序 我在下面向网格传递一个 JSON 对象format http www secondpersonplu
  • 创建 UIImageView 时上下文无效

    当我尝试创建 UIImageView 时出现错误 看看这段代码 UIImage backgroundPanel UIImage imageNamed loginPanelBackground png resizableImageWithCa
  • Azure API 管理:验证 jwt 令牌范围

    我们希望使用 validate jwt 策略保护 API 操作调用 但当我使用 required claims 检查范围时遇到问题 示例 我有一个令牌 其范围包括多个值 例如 xxx READ xxx WRITE yyy READ yyy
  • 如何解析 Excel 文件以提供与视觉上显示的数据完全相同的数据?

    我使用的是 Rails 5 Ruby 2 4 我想阅读 xls 文档 并且希望将数据转换为 CSV 格式 就像在 Excel 文件中显示的那样 有人推荐我使用 Roo 所以我就这么做了 book Roo Spreadsheet open f
  • 将标题行写入 csv python

    如何将标题添加到 csv 的第一行 我的解决方案目前附加了所有内容 就像是 writer writerow DataA DataB DataC DATA D 0 我觉得有一种简单的方法可以做到这一点 但我忽略了显而易见的事情 我在网上查看了
  • 为什么 JSLint 更喜欢点表示法而不是方括号?

    我一直在检查我的一些代码 并收到一些错误 说最好使用点表示法 我发现我使用的是方括号符号 从这篇精彩的文章中可以清楚地看出 https stackoverflow com questions 2001360 javascript dot n
  • 实体框架-存储过程返回值

    我正在尝试获取存储过程的返回值 以下是此类存储过程的示例 select Name IsEnabled from dbo something where ID ID if rowcount 0 return 1 return 这是一个简单的选
  • ANDROID,从Web服务器解析JSON数据并显示在ListView上

    我正在尝试显示 JSON url 链接的 JSON 结果 目前 当我加载时 它什么也不显示 只是空白页面 这是我获取有关 JSON 信息的来源 http adblogcat com parse json data from a web se
  • Orchard CMS:注销(注销)确认页面

    当用户注销前端时是否会触发一个事件 如何使用该事件将用户重定向到特定视图或页面 我希望用户在注销后收到一条消息 显示 您已成功注销 与往常一样 使用 Orchard 有不止一种方法可以做到这一点 方法 1 覆盖用户形状 当您注销时 您将被重
  • 从另一个线程读取复选框状态

    我正在尝试从 WPF 中的 BackgroundWorker 读取复选框的值 这不起作用 bool isSleepChecked checkBoxSleep Dispatcher Invoke DispatcherPriority Norm
  • 模块的循环依赖

    我想用 F 编写一个解析器 并且由于某些原因我必须使用 Antlr 这意味着我必须定义一个Visitor我想要解析的每个 AST 节点的类 现在我遇到的问题是 存在一些具有循环依赖关系的规则 例如 boolExpr boolTerm or
  • PHP 套接字 - 接受多个连接

    我正在尝试创建一个简单的客户端 服务器应用程序 因此我正在尝试使用 PHP 中的套接字 现在我有一个简单的 C 客户端 可以很好地连接到服务器 但我一次只能将一个客户端连接到该服务器 我在网上找到了这个代码示例 并为了测试目的对其进行了一些
  • 使用 mysql/php 的 INSERT 语句中的 WHERE 子句 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 经过谷歌搜索后 我才知道 我无法在 INSERT 查询中使用 WHERE 子句 但我想在 Book 4 列中插入一个值 其中 Student
  • 如何从 HTA 在默认 Web 浏览器中打开链接?

    我正在开发一个作为 HTA 实现的应用程序 我有一系列链接 我想在系统的默认网络浏览器中打开它们 使用 a href url target blank 无论默认浏览器如何 都会在 IE 中打开链接 有没有办法使用默认浏览器 使用 JavaS
  • 在客户端检测文件上传大小?

    我正在使用 PHP 进行文件上传 在里面PHP手册 http www php net manual en features file upload post method php它显示了一个使用的示例MAX FILE SIZE隐藏字段 表示
  • 使用单个 Gulp 任务运行 Protractor

    有没有办法在单个任务中使用 Protractor 和 Gulp 运行 e2e 测试 现在 为了运行 e2e 测试 我必须打开 3 个单独的 shell 并运行以下命令 webdriver manager update webdriver m
  • 我们可以在 Android 表单中为 Android 组件使用 CSS 吗?

    无论如何 有没有办法为 android 控件使用 css 我们可以为类似的控件创建类吗 谢谢 阿蒂夫 为什么要为 Android 视图定义 CSS 首先让我知道这个问题的答案 否则我想告诉你 你可以在样式 xml http develope
  • 如何在java中将stdin和stdout重定向到文本文件

    如何重定向 stdin 和 stdout 以将数据作为文本文件的输入并将数据作为输出传递到另一个文本文件 我的输入和输出文件如下所示 输入文件 txt 1 2 3 输出应该是输入文件中数字的总和 输出文件 txt 6 您可以设置System
  • 如何从VBA中的选项卡上的控件获取值?

    在选项卡条的不同选项卡中 我有每个选项卡中不同的输入值 我需要编写一个代码来获取所有这些值并执行一些工作 例如在单击按钮时汇总每个选项卡的值 谁能帮我做这个吗 在我的代码中 当我在一个选项卡的文本框中输入值时 它也会更改所有其他选项卡的值