ユーザーフォームに配置したリストボックスにリスト表示させるのにセルの値を反省させるのではなくAddItemを使えば直接書き込むことができるので、セルを汚さずに済ませたいと思いませんか?
この方法ならばユーザーフォームが開いたら自動的にAddItem登録された値が、リストアップされて表示されるので便利ですよ。
AddItemメソッド
ここでは、ユーザーフォームが表示された時に、AddItem登録しておいた値をリストボックスに表示させるようにVBAコードで書き込んでおきます。
VBAコード
Private Sub UserForm_Initialize()
With UserForm1.Controls(“ListBox1”)
.AddItem “勝手にシンドバッド”
.AddItem “気分しだいで責めないで”
.AddItem “いとしのエリー”
.AddItem “思い過ごしも恋のうち”
.AddItem “C調言葉に御用心”
.AddItem “涙のアベニュー”
End With
End Sub
VBA解説
- ユーザーフォームイニシャライズイベントを実行する
- ユーザーフォーム1のリストボックス1について以下の処理をする(Withステートメント)
- “勝手にシンドバッド”をアイテム登録する
- “気分しだいで責めないで”をアイテム登録する
- “いとしのエリー”をアイテム登録する
- “思い過ごしも恋のうち”をアイテム登録する
- “C調言葉に御用心”をアイテム登録する
- “涙のアベニュー”をアイテム登録する
- Withステートメント終了
- マクロ記録終了
このように、AddItemを使うと特定のセルの値を取得するわけではないので、書き換えられたり、誤って消してしまう事が無いので、変更する事が無いリスト作成ならばAddItem登録する方法を普段は使っています。
![とりっぷぼうる](https://tripbowl.com/excel-vba/wp-content/uploads/2017/12/vba150x150.jpg)
とりっぷぼうる
登録したいリストがもっとあればAddItemをどんどん増やせば可能なので、とても簡単ですよ。
また、リストは1行に1個ではなく、2列表示や登録も簡単にできますよ。