Hi Mamun,
You can try the approach in the attachment: Book1.xlsm
I am not sure if you know how to navigate the code?
there is code on the worksheet:
Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G9:G1200")) Is Nothing Then
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then GoTo Exit_Sub
UserForm1.Show
End If
Exit_Sub:
End Sub
Modify the range G9:G1200 as required.
the this code attached to the userform:
Code
Option Explicit
Private Sub ListBox1_Click()
ActiveCell.Value = Me.ListBox1.Value
Unload Me
End Sub
Private Sub UserForm_Activate()
Dim LOList As ListObject
Dim ws As Worksheet: Set ws = Sheet1
Set LOList = ws.ListObjects("Table1")
Dim ArrList As Variant
ArrList = Application.Transpose(LOList.DataBodyRange)
UserForm1.ListBox1.List = ArrList
End Sub
Display More
Just create your list of terms, insert it as a table (with header) and name it then change ws = sheet1 to refer to whichever sheet your table is one, and the Table1 to be whatever you name your table and it should work in whatever context you need.
Let me know how it goes.
JD