2016-10-26 211 views
1

私はいくつかのコントロールを持つフォームを持っています。 1つのタブ付きのタブストリップが含まれています。私は、commandbutton1をクリックすることで、タブを追加することができます。これまでのところうまくいきました。userformのタブストリップからタブを削除 - vba excel

これで、コマンドボタン2をクリックすると、最後のタブ(最初のタブを除く)を削除できるようになりました。問題は、私が約2時間の検索を行っていたにもかかわらず、タブについては、「削除」メソッドの正しい構文を見つけることができないということです。あらゆる助けが得られます。

、編集:

は、上記の質問は、より具体的な作り:それはパラメータが文字列変数ではなく、特定のタブ名でだとき、「削除」メソッドの右の構文は何。 (現在のタブを削除するなど)

次のいずれかが動作するかどう それは素晴らしいことだ:

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 

答えて

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 

あなたはこのようなもので処理することができます残り:あなたはもっとして2つのタップがある場合に拳をチェックする必要が

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

。はいの場合は最後のタップを削除します。 ヒントは、インデックスが第2タップで始まることです!

+0

のお時間をありがとうございました。あなたの答えは完璧でしたが、私が望むものをはっきりと述べていませんでした。私は私の質問を編集しました。試してみると感謝しています。 – dimitris

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 
関連する問題