在TabStrip的特定选项卡中更改控件的值

时间:2018-02-06 17:23:36

标签: vba excel-vba word-vba excel

基本上,我有一个名为mpageTabsMain的不同信息部门的多页。

在多页面的每个页面内都有一个标签条,其中包含代表不同人的标签。

我现在正在做的测试是使用按钮点击来填充多页的第二页上的文本框文本。

mpageTabsMain.Pages(1).TextBox1.Text = "test"

但是,它的作用是填写TabStrip中每个Tab(人物)的TextBox1文本。

如何在TabStrip中引用特定标签(人)的控件,以便只填充那个?

感谢。

1 个答案:

答案 0 :(得分:1)

  • 1)在UserForm中不能具有相同的控件名称。

  • 2)如果您想为每个页面处理不同的控件(例如第1页的TextBox1,第2页的TextBox2),您应该使用 Multipage控件< / strong>也许这将是您的要求的更好选择。

  • 3) Tabstrip控件对于布局相似或相同的网页有意义,但仅使用一组控件。因此,如果您在没有其他条件的情况下为TextBox1.Text属性分配值 (即区分不同类型的页面)您将获得相同TextBox1控件的相同文本,与您正在寻址的页面无关。虽然可能Tabstrip 有助于为少数几个控件编写可比较的代码(区分你在哪个页面),它可能是代码的更难的部分

附录(请参阅下面的评论)

好的,你在TabStrip内使用了Multipage,显然你想为每个人显示一个标签页选项卡。 (顺便说一下,我不会这样做,你可以动态地更改标签名称,但这不是问题)。

  

整个UserForm中只有一个唯一TextBox1控件。由于TextBox1唯一名称,而您的长代码行足以通过Me.TextBox1.Text = "test content for Person A"指定字符串值,引用人员A的当前标签视图或{{1根据另一个选项卡视图和另一个选项卡值。但在任何情况下它都是相同的TextBox1.Text = "test content for Person B"TextBox1代表Userform代码模块中的UserForm本身。   您只需根据选项卡情况“伪造”该文本(控件)的视图,并负责将其正确写回或根据实际的选项卡视图保存: - ;