[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA コンボボックスでリストから選択したものをテキストボックスに抽出』(なつ)
VBAのフォームで日報入力しようと作成中です。
現在つまづいているのが、社員番号をコンボボックスから選択すると、隣のテキストボックスに氏名が入るようにしたいのです。
ユーザーフォームにはまずテキストボックス37に今日の日付がはいるようにし、コンボボックス24にリストシートのIの列の社員番号とJの列の氏名が選択できるようにしました。
Private Sub UserForm_Initialize()
TextBox37.Value = Date
With ComboBox24
.ColumnCount = 2
.ColumnWidths = "40"
.RowSource = "リスト!I2:J18"
End With
End Sub
そのごコンボボックスを選択し、Exitしたあとに、テキストボックス38に氏名が入るようにしたいのですが、マクロ実行しても氏名が入らないです。
Private Sub ComboBox24_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim ret As Variant
With ComboBox24
ret = Application.VLookup(Me.ComboBox24.ListIndex + 1, Worksheets("リスト").Range("I2:J18"), 2, 0)
If Not IsError(ret) Then
TextBox38.Value = ret
End If
End With
End Sub
retの変数が悪いとおもうのですが、どのように修正したらよいでしょうか?
< 使用 Excel:Excel2007、使用 OS:Windows8 >
私はChangeイベントの方を使用しますが...
Me.TextBox38.Value = ""
With Me.ComboBox24
If .ListIndex > -1 Then
Me.TextBox38.Value = .List(.ListIndex, 1)
End If
End With
(seiya) 2017/08/02(水) 12:18
ありがとうございます。
Changeイベントにして作成したらできました。
いただいたものを入力したらできました。
もっと勉強します。ありがとうございます。
(なつ) 2017/08/02(水) 12:56
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.