comboboxta sıralama

Katılım
22 Nisan 2005
Mesajlar
245
combo box tan sayfadaki verilere göre şu kadla comboya getiriyorum ama sınıflar kayıt sırasına göre geliyor(1 kere)
2a 3b 1c seklinde
ben sırasıyla gelmesini istiyorum 1a 1b 1c 2a şeklinde mümkünmü kod


ComboBox2.Clear
a = WorksheetFunction.CountA(Columns("A"))
For v = 2 To Cells(65536, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Range("B2:B" & v), Cells(v, 2).Value) = 1 Then
ComboBox2.AddItem Cells(v, 2).Value

ListBox1.ColumnCount = 3 'sutunları yan yana getiren kod
ListBox1.ColumnWidths = "30;70;70"
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

[vb:1:bd37bb891c]For a = 1 To [b65536].End(3).Row
If WorksheetFunction.CountIf(Range("a1:a" & a), Cells(a, "b")) > 1 Then GoTo 10
c = c + 1
ComboBox2.AddItem Cells(a, "b")
deg2 = ComboBox2.List(c - 1, 0)
If IsNumeric(ComboBox2.List(c - 1, 0)) = True Then deg2 = ComboBox2.List(c - 1, 0) * 1
For b = 0 To c - 2
deg1 = ComboBox2.List(b, 0)
If IsNumeric(ComboBox2.List(b, 0)) = True Then deg1 = ComboBox2.List(b, 0) * 1
If deg1 > deg2 Then
deg = ComboBox2.List(c - 1, 0)
ComboBox2.List(c - 1, 0) = ComboBox2.List(b, 0)
ComboBox2.List(b, 0) = deg
End If
Next
[/vb:1:bd37bb891c]
 
Katılım
22 Nisan 2005
Mesajlar
245
olmadı en iyisi ben kodun tamamını vereyim.

Private Sub UserForm_Initialize()

Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000

With Application
.WindowState = xlMaximized
Zoom = Int(.Width / Me.Width * 100)
Width = .Width
Height = .Height
End With





Dim ctr As Control
Dim i As Integer
For Each ctr In Controls
If TypeName(ctr) = "TextBox" And ctr.Name <> "ognotadsoyad" And ctr.Name <> "ognotsinif" And ctr.Name <> "ognotno" Then
ReDim Preserve txtler(i)
Set txtler(i).TBox = ctr
i = i + 1
End If
Next

ComboBox2.Clear
a = WorksheetFunction.CountA(Columns("A"))
For v = 2 To Cells(65536, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Range("B2:B" & v), Cells(v, 2).Value) = 1 Then
ComboBox2.AddItem Cells(v, 2).Value

ListBox1.ColumnCount = 3 'sutunları yan yana getiren kod
ListBox1.ColumnWidths = "30;70;70"
ognot.Caption = ComboBox3 & "(" & ActiveCell.Offset(0, 3).Value & ")"
End If
Next


End Sub :dua:
 
Üst