まえきんブログ

2024/2/11~ WordPress版ブログへお引越ししました🖊(詳細はトップページ記事をご参照頂ければと存じますm(_ _)m)

【Excel VBA学習 #125】ユーザーフォームのリストボックスに登録されたデータを削除する

まえきんです!

今回はユーザーフォームのリストボックスに登録されたデータを

削除する方法について学習しましたのでご紹介します。

f:id:maekinblog:20210830220330p:plain

動作確認のため、エクセルシートA1:A5に任意の文字列

(例として「プレ登録1」~「プレ登録5」)を予め入力しておきます。

f:id:maekinblog:20210830220354p:plain

この状態でマクロを実行すると以下のような結果になります。

まず前回#124で学習した内容と同じ考え方でリストボックスにデータが登録されます。

f:id:maekinblog:20210830220404p:plain

次に登録されたデータを削除する処理に移るわけですが、ここで少し

メッセージボックスを表示する処理でワンクッションおいてみます。

普通にマクロを実行するだけだと実行結果だけしか見られないので

メッセージボックスを表示させる処理をかますことでデータ削除の

ビフォーアフターが明確に確認できるようにしてみます。

以下の通り、メッセージボックスが表示されます。

f:id:maekinblog:20210830220727p:plain

このとき、リストボックスにはまだ5つの文字列が登録されたままです。

では表示されたメッセージボックスのOKボタンを押下してみます。

そうするとこんな感じになります。

f:id:maekinblog:20210830220835p:plain

リストボックス内2番目に登録されていた「プレ登録2」のデータが

削除されていることが確認できます。この削除を実行するにはRemoveItemメソッド

使用します。このメソッドの引数に削除したい配列の番号を指定します。

この時、配列の考え方として先頭(一番上)が「0」であることに注意してください。

つまり1番目を指定する場合は「0」を指定するというわけです。

そのため、今回の事例では2番目のデータを削除するマクロを考えているため、

引数には「1」を指定していることになります。

次回#126は「リストボックスの選択位置を指定する」

VBAコードについて学習予定です。

最後まで読んで頂きありがとうございました!ではまた!