با سلام به تمامی دوستان
ضمن اجازه از جناب آقای اسماعیلی عزیز و پوزش به خاطر جسارت و دستگاری در کد ایشان .(اصل کد متعلق به ایشان است )
فکر میکنم پایه کار درست است ولی کد مقدار تغییرات نیاز دارد.
اگر یک تکست باکس به فرم اضافه شود و مقدار درخواستی را به آن ارجاع دهیم خواهید دید که جوابها چندان درست نست ( یا بدون هدر است و یا یکی از مجموع کم است ) شاید هم در سیستم بدنه اینجور است . به هرحال کد زیر اصلاح شده کد دوست بزرگوارم جناب اسماعیلی است امید که مفید واقع شود .( باز هم معذرت خواهی از ایشان )
توضیح : به فرم یک تکست باکس اضافه کرده تا بتوانیم نام های موردنظر را در آن تایپ نمایید
کد:
Private Sub CommandButton1_Click()
ListBox1.Clear
'define 4 column listbox
ListBox1.ColumnCount = 4
'change column widhts
ListBox1.ColumnWidths = "50;50;50"
With ListBox1
.AddItem
ListBox1.List(0, 0) = Sheet2.Range("A1").Value 'header
ListBox1.List(0, 1) = Sheet2.Range("B1").Value 'header
ListBox1.List(0, 2) = Sheet2.Range("C1").Value 'header
ListBox1.List(0, 3) = Sheet2.Range("D1").Value 'header
End With
'assing values to the columns
Dim c As Range
Dim i As Integer
i = 2
For Each c In Sheet2.Range("A2:A20")
If c.Value = TextBox1.Text Then
ListBox1.AddItem
ListBox1.List(i - 1, 0) = c 'data
ListBox1.List(i - 1, 1) = c.Offset(0, 1) 'data
ListBox1.List(i - 1, 2) = c.Offset(0, 2) 'data
ListBox1.List(i - 1, 3) = c.Offset(0, 3) 'data
i = i + 1
End If
Next c
End Sub
با تشکر میر
علاقه مندی ها (Bookmarks)