【发布时间】:2015-03-16 20:51:22
【问题描述】:
我有 UserForm1,它是一个多页用户表单,我正在尝试访问通过位于 Module1 中的子表单中的表单收集的信息。这个 sub 需要访问几个不同的值并使用这些值做不同的事情,所以这将是一个多部分的问题。
- 我在下面的代码中尝试使用其中一个值作为 For Next 循环的上限。然而当前的问题是,当代码到达这一行时,它会跳转到 Userform_Initialize 例程。
For X = 1 To UserForm1.LocalOffer.Value
- 这个问题的第二部分来自上面的 For Next 循环。我有下面的代码。理想情况下,这将允许我从用户窗体中循环浏览一系列类似命名的文本框。甚至不确定这是否会起作用,因为在到达那部分之前代码会不断中断。
Range("B" & X).Value = UserForm1.Controls("LocalTier" & Tier).Value
- 如果我在用户窗体中有一个文本框,其中包含格式为 1/18/2015 的日期,那么这个问题的最后一部分是否有办法让我只获取该日期的一部分,例如只是一天或只是年份的最后一位数字?
我使用的是 Excel 2013,但文件将在 Excel 2007 上运行
编辑: 事实证明,问题 1 是通过不使用 X 按钮关闭用户窗体,而是在您点击最后一个按钮时添加一行来隐藏用户窗体来解决的。事实证明,一旦我通过了第二个问题,我的代码就可以正常工作。剩下的唯一问题是最后一个我不知道的问题。
【问题讨论】:
-
我使用按钮将它们显示为代码行,但如果有人可以编辑,我将不胜感激。
-
这是因为它所在的列表。不优雅,但我放了水平线来解决这个问题。可能还有其他方法,
块也可以工作 -
那么,让我们从头开始:当代码到达这一行时,UserForm1.LocalOffer.Value 的值是多少?我想它是 1,所以代码会立即跳过这个 For Next 结构。请检查一下。
-
LocalOffer的值为4,Tier的值为9,LocalTier9的值为50
-
当用 X 关闭用户窗体时,用户窗体的值会消失吗?
标签: vba excel excel-2007 excel-2013 userform