如何以编程方式在vba用户窗体的tabstrip中添加和重命名选项卡?
我一直在尝试编写一个程序,它将在vba的tabstrip中添加一个新选项卡。我需要在运行时执行此操作。我有一个“添加选项卡”按钮来添加它。同时,它会将选项卡重命名为一个系列,例如“添加选项卡”>>“喷嘴2”、“添加选项卡”>>“喷嘴3”等等。有什么帮助吗?下面是我尝试过的代码,但它显示了类型不匹配错误,为什么?-我不明白。我用类似的代码尝试了多页,效果很好。但是为什么它不适用于Tabstrip如何以编程方式在vba用户窗体的tabstrip中添加和重命名选项卡?,vba,Vba,我一直在尝试编写一个程序,它将在vba的tabstrip中添加一个新选项卡。我需要在运行时执行此操作。我有一个“添加选项卡”按钮来添加它。同时,它会将选项卡重命名为一个系列,例如“添加选项卡”>>“喷嘴2”、“添加选项卡”>>“喷嘴3”等等。有什么帮助吗?下面是我尝试过的代码,但它显示了类型不匹配错误,为什么?-我不明白。我用类似的代码尝试了多页,效果很好。但是为什么它不适用于Tabstrip Private Sub CommandButton1_Click() Dim newPage As T
Private Sub CommandButton1_Click()
Dim newPage As Tabs
Dim PagesCnt As Long
With Me.TabStrip1
PagesCnt = .Count
Set newPage = .Tabs.Add("Nozzle" & (PagesCnt + 1), "Nozzle " & (PagesCnt + 1), PagesCnt)
UserForm1.TabStrip1.Value = PagesCnt
End With
End Sub
下面的示例使用
Style
属性指定MultiPage
和TabStrip
中选项卡的外观。此示例还演示了如何使用标签。用户通过选择选项按钮
来选择样式
更多信息请访问
下面的示例使用Style
属性指定MultiPage
和TabStrip
中选项卡的外观。此示例还演示了如何使用标签。用户通过选择选项按钮
来选择样式
更多信息请访问
选项卡
是选项卡的集合,因此不能将其设置为单个选项卡
选项卡控件的正确类型是MSForms.tab
Dim newPage As MSForms.Tab
但你并不完全需要它:
Private Sub CommandButton1_Click()
Dim PagesCnt As Long
With Me.TabStrip1
PagesCnt = .Count
.Tabs.Add "Nozzle" & (PagesCnt + 1), "Nozzle " & (PagesCnt + 1), PagesCnt
.Value = PagesCnt
End With
End Sub
您还可以去掉PagesCnt
变量:
Private Sub CommandButton1_Click()
With Me.TabStrip1
.Tabs.Add "Nozzle" & (.Count + 1), "Nozzle " & (.Count + 1), .Count
.Value = .Count - 1
End With
End Sub
选项卡
是选项卡的集合,因此不能将其设置为单个选项卡
选项卡控件的正确类型是MSForms.tab
Dim newPage As MSForms.Tab
但你并不完全需要它:
Private Sub CommandButton1_Click()
Dim PagesCnt As Long
With Me.TabStrip1
PagesCnt = .Count
.Tabs.Add "Nozzle" & (PagesCnt + 1), "Nozzle " & (PagesCnt + 1), PagesCnt
.Value = PagesCnt
End With
End Sub
您还可以去掉PagesCnt
变量:
Private Sub CommandButton1_Click()
With Me.TabStrip1
.Tabs.Add "Nozzle" & (.Count + 1), "Nozzle " & (.Count + 1), .Count
.Value = .Count - 1
End With
End Sub
真是太棒了!非常感谢,@DisplayName。但是你能解释一下为什么我的代码不起作用吗?差别似乎微不足道。好吧,我明白了。“选项卡是选项卡的集合,因此不能将其设置为单个选项卡”这不是原因吗?不客气。然后你可以考虑把答案标记为“接受”。非常感谢。至于我在回答的第一行给出的解释,是的,我现在明白了。正如你所要求的,我把它标记为接受。。。我的错误。我应该第一次做的。再次感谢你。干杯还有一件事(我想知道,我应该在评论中问它还是问一个新问题?)。现在,我想使用我在选项卡文本框中输入的值执行一些任务。每个选项卡将在多个文本框中接收不同的值,存储/保存它们并在单击按钮时使用它们。在我的代码中,如果我更改一个选项卡的值,它也会更改以前选项卡的值,这是不期望的。非常感谢您的解决方案。它非常有效!非常感谢,@DisplayName。但是你能解释一下为什么我的代码不起作用吗?差别似乎微不足道。好吧,我明白了。“选项卡是选项卡的集合,因此不能将其设置为单个选项卡”这不是原因吗?不客气。然后你可以考虑把答案标记为“接受”。非常感谢。至于我在回答的第一行给出的解释,是的,我现在明白了。正如你所要求的,我把它标记为接受。。。我的错误。我应该第一次做的。再次感谢你。干杯还有一件事(我想知道,我应该在评论中问它还是问一个新问题?)。现在,我想使用我在选项卡文本框中输入的值执行一些任务。每个选项卡将在多个文本框中接收不同的值,存储/保存它们并在单击按钮时使用它们。在我的代码中,如果我更改一个选项卡的值,它也会更改以前选项卡的值,这是不期望的。解决方案将不胜感激。我去了源头。但这不是我想做的。我的问题不是关于格式,而是添加和更改选项卡的标题。嘿,你在我的另一个问题中报告说,这个问题和另一个问题是重复的。你错了。这两个问题完全不同。问题是你不理解我的第一个问题,回答错了,你也不理解我的第二个问题。在没有完全理解的情况下报告问题是不礼貌的。这看起来像是某种报复态度,为什么我不支持你的答案。我去了源头。但这不是我想做的。我的问题不是关于格式,而是添加和更改选项卡的标题。嘿,你在我的另一个问题中报告说,这个问题和另一个问题是重复的。你错了。这两个问题完全不同。问题是你不理解我的第一个问题,回答错了,你也不理解我的第二个问题。在没有完全理解的情况下报告问题是不礼貌的。这看起来像是某种报复态度,我为什么不支持你的答案。