从userform - vba excel中的tabstrip中删除选项卡

时间:2016-10-26 13:15:12

标签: excel forms vba excel-vba tabs

我有一个包含多个控件的表单。它包括带有一个选项卡的标签。我允许用户通过单击commandbutton1来添加选项卡。到目前为止一切顺利。

现在我还希望用户能够通过单击commandbutton2来删除最后一个选项卡(第一个选项卡除外)。问题是,尽管我已经搜索了大约两个小时的事实,但我找不到方法的正确语法"删除"当涉及到标签。任何有用的帮助。

编辑:

使上述问题更加具体:"删除"的正确语法是什么?方法,当它的参数是字符串变量而不是特定的选项卡名称时。 (例如删除当前选项卡)

e.g。 如果以下其中一项可行,那就太好了:

Sub test
    Dim nm As String

    With TabStrip1
        nm = .SelectedItem.Name
        .Tabs.Remove (nm)
    End With
End Sub

Sub test
    With TabStrip1
        .Tabs.Remove (.SelectedItem.Name)
    End With
End Sub

2 个答案:

答案 0 :(得分:1)

终于找到了方法。 remove方法接受标签caption作为参数而不是name

在这种情况下,以下方面效果很好:

Private Sub CommandButton2_Click()
    Dim nm As String

    With TabStrip1
        nm = .SelectedItem.Caption
        .Tabs.Remove (nm)
    End With
End Sub

Private Sub CommandButton2_Click()
    With TabStrip1
        .Tabs.Remove (.SelectedItem.Caption)
    End With
End Sub

答案 1 :(得分:0)

您好,您可以通过TabStrip1.Tabs.Remove行删除标签。

Private Sub CommandButton1_Click() 'Insert the Tap Test
       TabStrip1.Tabs.Add ("Test")
    End Sub

    Private Sub CommandButton2_Click()'Removes the Tap Test
       TabStrip1.Tabs.Remove ("Test")
    End Sub

您可以使用类似的东西处理休息:

If TabStrip1.Tabs.Count >= 2 Then
    TabStrip1.Tabs.Remove (TabStrip1.Tabs.Count - 1)
End If

如果有两个以上的水龙头,你必须检查拳头。如果是,请删除最后一个Tap。 提示她,指数从第二次点击开始!