0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【VBA入門⑨】ユーザーフォームを作ってみよう!入力画面の作り方をやさしく解説💻✨

Last updated at Posted at 2025-08-06

第9章:ユーザーフォーム作成

こんにちはっ🐰✨ まくるです!
今回は、ExcelのVBAで オリジナルの入力画面 =「ユーザーフォーム」を作っていくよっ!

実務でもめちゃくちゃ便利なこの機能、一度覚えるとやみつきになる魔法だよ💫


🧱 ユーザーフォームってなに?

ユーザーフォームは、 自分で作れる入力ウィンドウ のこと!

  • テキストボックスで名前を入力
  • コンボボックスで選択肢を選ぶ
  • OKボタンやキャンセルボタン付き

Excelを 本格アプリ風に操作 できちゃうよ✨


🛠️ ユーザーフォームの作り方(手順)

  1. Excelで「Alt + F11」でVBAエディタを開く
  2. メニューから「挿入」→「ユーザーフォーム」を選ぶ
  3. 画面右側の「ツールボックス」からパーツを配置(Label, TextBox, CommandButtonなど)
  4. フォーム名や各コントロールの NameCaption を設定

💬 ボタンに処理を書く

例:名前を入力してメッセージを出すフォーム

  1. TextBox:Name = txtName
  2. CommandButton: Name = cmdHelloCaption = あいさつ
Private Sub cmdHello_Click()
    MsgBox "こんにちは、" & txtName.Text & " さん!"
End Sub

▶ フォームを表示するマクロ

フォーム名が UserForm1 の場合:

Sub ShowForm()
    UserForm1.Show
End Sub

📌 Show で表示されるよ!ボタンや入力内容に応じて処理を組み込もう🧙


✏️ 入力値をシートに書き込む

Private Sub cmdHello_Click()
    Sheets("Sheet1").Range("A1").Value = txtName.Text
    Unload Me  ' フォームを閉じる
End Sub
  • .Text でテキストボックスの値を取得
  • Unload Me でフォームを閉じる

🧽 フォームの初期化処理(Initialize)

フォームを開いたときに実行されるイベントだよ!

Private Sub UserForm_Initialize()
    txtName.Text = ""
End Sub

📌 初期状態をセットしたり、コンボボックスの選択肢を入れるときによく使う!


🌟 ワンポイント:フォームのデザインのコツ

  • TabIndex を正しく設定して、Tabキーで移動できるようにしよう
  • Multiline = True にすると複数行入力できるよ(テキストボックス)
  • Default = True にするとボタンがEnterキーで押せるようになる!

📌 まとめ

  • ユーザーフォームでExcelが「アプリ化」できる!
  • TextBox , ComboBox , CommandButton を使いこなそう
  • UserForm_Initialize で初期化も忘れずに!

次回は、 「第10章:エラー処理とデバッグ」
バグと戦う魔法、覚えておこうねっ⚡🪄

VBA初心者 #Excelマクロ #ユーザーフォーム #業務効率化 #フォーム入力

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?