ComboBoxda Sayfaları Göstermek - m_demir - 08/05/2020
Merhaba Arkadaşlar
Eklediğim Excel uygulamasında UserFom2 de ComboBox1 de Excel sayfaları aşağıdaki kodlarla gösteriyorum.
Benim istediğim UserFom2 de ComboBox1 de ŞABLON, liste, Sayfa1 adındaki sayfalar görünmesin.
Bu konuda yardımlarınıza ihtiyacım var.
Private Sub UserForm_Initialize()
Dim syf As Worksheet, k As Byte
istenmeyen = Array("", "ŞABLON", "Sayfa1")
For Each syf In Worksheets
For k = 1 To UBound(istenmeyen, 1)
If istenmeyen(k) = syf.Name Then GoTo atla
Next k
'ListBox daki listeyi görüntüleme'
ComboBox1.AddItem syf.Name
atla:
Next syf
For a = 4 To Sheets.Count
ListBox1.AddItem Sheets(a).Name
'ListBox daki listeyi sıralama'
Dim vaItems As Variant
Dim i As Long, j As Long
Dim vTemp As Variant
'Put the items in a variant array
vaItems = Me.ListBox1.List
'Steal code from John Walkenbach’s Excel Power Programming
'with Vba to sort the array
For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
For j = i + 1 To UBound(vaItems, 1)
If vaItems(i, 0) > vaItems(j, 0) Then
vTemp = vaItems(i, 0)
vaItems(i, 0) = vaItems(j, 0)
vaItems(j, 0) = vTemp
End If
Next j
Next i
'Clear the listbox
Me.ListBox1.Clear
'Add the sorted array back to the listbox
For i = LBound(vaItems, 1) To UBound(vaItems, 1)
Me.ListBox1.AddItem vaItems(i, 0)
Next i
Next
End Sub
RE: Comboboxda Sayfaları Göstermek - feraz - 08/05/2020
Döngüyü alttaki gibi denermisiniz.
Arraya Liste adınıda ekeyin.
For Each syf In Worksheets
For k = 1 To UBound(istenmeyen, 1)
If istenmeyen(k) <> syf.Name Then ComboBox1.AddItem syf.Name
Next k
Next syf
Yada alttakini next k satırının üzerine alın sizin ilk eklediğiniz kodda.
ComboBox1.AddItem syf.Name
RE: ComboBoxda Sayfaları Göstermek - m_demir - 08/05/2020
Hocam ekediğiniz kodu uygulamaya çalıştım hata verdi. Eklediğim koda nası değişiklik yapılacak bilmiyorum. Yazmış olduğunuz kodu yukarıdaki koda eklermisiniz. Saygılar.
RE: ComboBoxda Sayfaları Göstermek - feraz - 08/05/2020
Kod altta
Sayfa1 ile sayfa1 eşit değil başka bir konudada yazmıştım size.
Private Sub UserForm_Initialize()
Dim syf As Worksheet, k As Byte
For Each syf In Worksheets
If syf.Name <> "sayfa1" And syf.Name <> "liste" And syf.Name <> "ÞABLON" Then
ComboBox1.AddItem syf.Name
End If
Next syf
For a = 4 To Sheets.Count
ListBox1.AddItem Sheets(a).Name
'ListBox daki listeyi sýralama'
Dim vaItems As Variant
Dim i As Long, j As Long
Dim vTemp As Variant
'Put the items in a variant array
vaItems = Me.ListBox1.List
'Steal code from John Walkenbach’s Excel Power Programming
'with Vba to sort the array
For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
For j = i + 1 To UBound(vaItems, 1)
If vaItems(i, 0) > vaItems(j, 0) Then
vTemp = vaItems(i, 0)
vaItems(i, 0) = vaItems(j, 0)
vaItems(j, 0) = vTemp
End If
Next j
Next i
'Clear the listbox
Me.ListBox1.Clear
'Add the sorted array back to the listbox
For i = LBound(vaItems, 1) To UBound(vaItems, 1)
Me.ListBox1.AddItem vaItems(i, 0)
Next i
Next
End Sub
RE: ComboBoxda Sayfaları Göstermek - berduş - 08/05/2020
dilerim işinize yarar
Private Sub UserForm_Initialize()
Dim syf As Worksheet, k As Byte
Dim Ekleme As String
istenmeyen = Array("", "ŞABLON", "Sayfa1","liste")
For k = 1 To UBound(istenmeyen, 1)
Ekleme = Ekleme & "|" & istenmeyen(k) & "|"
Next k
For Each syf In Worksheets
'ListBox daki listeyi görüntüleme'
If InStr(1, Ekleme, "|" & syf.Name & "|", 1) = 0 Then ComboBox1.AddItem syf.Name
atla:
Next syf
For a = 4 To Sheets.Count
ListBox1.AddItem Sheets(a).Name
'ListBox daki listeyi sıralama'
Dim vaItems As Variant
Dim i As Long, j As Long
Dim vTemp As Variant
'Put the items in a variant array
vaItems = Me.ListBox1.List
'Steal code from John Walkenbach’s Excel Power Programming
'with Vba to sort the array
For i = LBound(vaItems, 1) To UBound(vaItems, 1) - 1
For j = i + 1 To UBound(vaItems, 1)
If vaItems(i, 0) > vaItems(j, 0) Then
vTemp = vaItems(i, 0)
vaItems(i, 0) = vaItems(j, 0)
vaItems(j, 0) = vTemp
End If
Next j
Next i
'Clear the listbox
Me.ListBox1.Clear
'Add the sorted array back to the listbox
For i = LBound(vaItems, 1) To UBound(vaItems, 1)
Me.ListBox1.AddItem vaItems(i, 0)
Next i
Next
End Sub
Re: Comboboxda Sayfaları Göstermek - m_demir - 08/05/2020
Çok teşekkürler Hocam ellerinize sağlık. Hocam siz yazacaksınız da o kod işe yaramayacak Bill Gates gibi adamsın maşallah.
Hocam ComboBox1 de girdiğiniz harfe göre sadece ilgili sayfaların adlarını ListBox1 listeliyebilirmiyiz. Saygılar.
|