如何以编程方式在vba用户窗体的tabstrip中添加和重命名选项卡?

如何以编程方式在vba用户窗体的tabstrip中添加和重命名选项卡?,vba,Vba,我一直在尝试编写一个程序,它将在vba的tabstrip中添加一个新选项卡。我需要在运行时执行此操作。我有一个“添加选项卡”按钮来添加它。同时,它会将选项卡重命名为一个系列,例如“添加选项卡”>>“喷嘴2”、“添加选项卡”>>“喷嘴3”等等。有什么帮助吗?下面是我尝试过的代码,但它显示了类型不匹配错误,为什么?-我不明白。我用类似的代码尝试了多页,效果很好。但是为什么它不适用于Tabstrip Private Sub CommandButton1_Click() Dim newPage As T

我一直在尝试编写一个程序,它将在vba的tabstrip中添加一个新选项卡。我需要在运行时执行此操作。我有一个“添加选项卡”按钮来添加它。同时,它会将选项卡重命名为一个系列,例如“添加选项卡”>>“喷嘴2”、“添加选项卡”>>“喷嘴3”等等。有什么帮助吗?下面是我尝试过的代码,但它显示了类型不匹配错误,为什么?-我不明白。我用类似的代码尝试了多页,效果很好。但是为什么它不适用于Tabstrip

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。但是你能解释一下为什么我的代码不起作用吗?差别似乎微不足道。好吧,我明白了。“选项卡是选项卡的集合,因此不能将其设置为单个选项卡”这不是原因吗?不客气。然后你可以考虑把答案标记为“接受”。非常感谢。至于我在回答的第一行给出的解释,是的,我现在明白了。正如你所要求的,我把它标记为接受。。。我的错误。我应该第一次做的。再次感谢你。干杯还有一件事(我想知道,我应该在评论中问它还是问一个新问题?)。现在,我想使用我在选项卡文本框中输入的值执行一些任务。每个选项卡将在多个文本框中接收不同的值,存储/保存它们并在单击按钮时使用它们。在我的代码中,如果我更改一个选项卡的值,它也会更改以前选项卡的值,这是不期望的。解决方案将不胜感激。我去了源头。但这不是我想做的。我的问题不是关于格式,而是添加和更改选项卡的标题。嘿,你在我的另一个问题中报告说,这个问题和另一个问题是重复的。你错了。这两个问题完全不同。问题是你不理解我的第一个问题,回答错了,你也不理解我的第二个问题。在没有完全理解的情况下报告问题是不礼貌的。这看起来像是某种报复态度,为什么我不支持你的答案。我去了源头。但这不是我想做的。我的问题不是关于格式,而是添加和更改选项卡的标题。嘿,你在我的另一个问题中报告说,这个问题和另一个问题是重复的。你错了。这两个问题完全不同。问题是你不理解我的第一个问题,回答错了,你也不理解我的第二个问题。在没有完全理解的情况下报告问题是不礼貌的。这看起来像是某种报复态度,我为什么不支持你的答案。