نوشته اصلی توسط
saber2q
سلام
فرض کنید در قسمتی از فرم این کدها جهت بارگذاری اطلاعات لیست باکس وارد شده:
کد:
i = 1
For Each c In Sheet14.Range("b2:b100")
If c <> "" Then
ListBox1.ColumnHeads = True
ListBox1.AddItem
ListBox1.List(ListBox1.ListCount - 1, 1) = c.Offset(0, 1)
ListBox1.List(ListBox1.ListCount - 1, 0) = c.Offset(0, 2)
ListBox1.List(ListBox1.ListCount - 1, 2) = i
End If
i = i + 1
Next
که این کد مربوط میشه به لیست باکس1 و رنج مذکور اما من میخوام این کدها به همراه نام کنترل لیست باکس و رنجش که مغییر هستن رو در جاهای مختلف فرمهای مختلف استفاده کنم و فقط نام لیست باکس و رنجش رو معرفی کنم به ماکرو...
با سلام و کسب اجازه از اساتید.
آره،میشه یه همچین کاری کرد:
تو فرم زیر یک ماژول درست شده و از طریق Call تو فرم ها فراخوانی میشه.
Call For RepCode
ممنون این خیلی خوبه اما همه لیست باکسها باید همنام باشن و رنج هم قابل تغییر نیست، چطور میشه این دو آپشن رو متغییر کنیم؟
برای این کار از این تابع استفاده کنید. این دو تابع دو آرگومان دارد
کد:
Function rlist(lbox As UserForm.ListBox, rg As Range)
Dim i As Integer
i = 1
For Each c In rg
If c <> "" Then
lbox.ColumnHeads = True
lbox.AddItem
lbox.list(lbox.ListCount - 1, 1) = c.Offset(0, 1)
lbox.list(lbox.ListCount - 1, 0) = c.Offset(0, 2)
lbox.list(lbox.ListCount - 1, 2) = i
End If
i = i + 1
Next
End Function
برای فراخوای تابع هم مثلا در یک یوزر فرم اینطور عمل می نمایید.
کد:
Private Sub UserForm_Click()
Call rlist(ListBox1, Sheet1.Range("b2:b100"))
End Sub
[php]
علاقه مندی ها (Bookmarks)