VBA ユーザーフォーム
VBA初心者です。以下の様なソースを見つけました。この場合は、文字を検索するとD1
にその該当番号が表示されます。
※A列には番号、B列には文字列
そうではなく、そのクリックした行のA列にセルが移動し、ユーザーフォームが閉じられる様にできますでしょうか?
よろしくお願い致します。
Private Sub ListBox1_Click()
Sheets("Sheet1").Range("D1").Value = ListBox1.Value
End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim v() As Variant
Dim c As Range
Dim k As Long
ListBox1.Clear
With Sheets("Sheet1")
With .Range("A1", .Range("A" & .Rows.Count).End(xlUp))
ReDim v(1 To 2, 1 To .Rows.Count)
For Each c In .Cells
If c.Offset(, 1).Value Like TextBox1.Value & "*" Then
k = k + 1
v(1, k) = c.Value
v(2, k) = c.Offset(, 1).Value
End If
Next
If k = 0 Then
MsgBox "指定の値は存在しません"
Else
ReDim Preserve v(1 To 2, 1 To k)
ListBox1.List = WorksheetFunction.Transpose(v)
End If
End With
End With
End Sub
お礼
望んだ回答と違いましたが、ヒントを得て自己解決しました。ありがとうございました。