- ベストアンサー
複数行表示されたリストボックスから最後の行だけ削除するには
エクセルのユーザーフォーム上にあるリストボックスですが 必要に応じてボタンクリックでAddItemにより項目が追加されて行くリストボックスがあります この複数行表示された項目の内 別のボタンクリックで最後に追加された行だけ削除していくには どのように記述すればいいのでしょうか ------------- abcde fghij klmno pqrst ------------ と表示されていたリストボックスから クリックするたびに ------------- abcde fghij klmno ------------- ------------- abcde fghij ------------- の様に最後の行だけ削除をしたいのです 単純に ListBoX1.Clear では全て消されてしまい こまっています ぜひお力をお貸し下さい よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
失礼しました 最後の行では ListBox1.RemoveItem (ListBox1.ListCount - 1) と記載してください。 なお、下記同様に On ErrorとErrHanderは記載してください。 また、記載しない場合は If ListBox1.ListCount>0 Then等で リストにデータがないときは処理しないよう 心がけてください。
その他の回答 (2)
- ja7awu
- ベストアンサー率62% (292/464)
「最後の行だけ削除」ですから、こんな感じで、どうでしょうか。 Private Sub CommandButton1_Click() Dim Lcnt As Long Lcnt = Me.ListBox1.ListCount If Lcnt > 0 Then Me.ListBox1.RemoveItem (Lcnt - 1) End If End Sub
お礼
ありがとうございました 参考になりました
- stouma
- ベストアンサー率35% (142/399)
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo ErrHander ListBox1.RemoveItem (ListBox1.ListIndex) ErrHander: Err.Clear End Sub こんなんではだめでしょうか? なお、Office Excel 2003にて動作確認はしました。 ダブルクリックにより削除されます。 (質問の際にはOfficeのバージョンも明記のこと)
お礼
ありがとうございました 助かりました