- Katılım
- 20 Kasım 2010
- Mesajlar
- 62
- Excel Vers. ve Dili
- Excel 2007 - Excel 2010 TÜRKÇE
Merhabalar
Listbox'a excelden tekrarlanmayan verileri almak istiyorum. Bu konu ile ilgili çok başlık buldum fakat makroları benim makrolarıma uygulayamadım. Yardımcı olursanız sevinirim.
Bir excel sayfasında Dört sütunlu veri var. A, B, C ve D sütunları. A sütununda tekrarlanmayan verileri Listbox'a almak istiyorum. Makrom;
Listbox'a excelden tekrarlanmayan verileri almak istiyorum. Bu konu ile ilgili çok başlık buldum fakat makroları benim makrolarıma uygulayamadım. Yardımcı olursanız sevinirim.
Bir excel sayfasında Dört sütunlu veri var. A, B, C ve D sütunları. A sütununda tekrarlanmayan verileri Listbox'a almak istiyorum. Makrom;
Kod:
Private Sub UserForm_Activate()
UserForm2.ListBox1.Clear
Set S2 = Sheets("Veri")
With UserForm2.ListBox1
.List = S2.Range("A2:D" & [Veri!E65536].End(3).Row).Value
For lngIndex = 0 To .ListCount - 1
.List(lngIndex, 1) = (Format(DateValue(.List(lngIndex, 1)), "dd.mm.yyyy"))
Next
End With
Call sira
TextBox1.Value = ListBox1.ListCount
End Sub
Sub sira()
Liste = ListBox1.List
ListBox1.RowSource = ""
ListBox1.List = Sirala(Liste, ListBox1.ColumnCount, 2)
End Sub
Private Function Sirala(Liste As Variant, Sutun_Adedi As Byte, Siralanacak_Sutun_No As Byte)
Dim i As Integer, j As Integer, SAY As Byte, x As Variant
For i = LBound(Liste) To UBound(Liste) - 1
For j = i + 1 To UBound(Liste)
If StrComp(Liste(i, Siralanacak_Sutun_No - 1), Liste(j, Siralanacak_Sutun_No - 1), vbTextCompare) = 1 Then
For SAY = 0 To Sutun_Adedi - 1
x = Liste(j, SAY)
Liste(j, SAY) = Liste(i, SAY)
Liste(i, SAY) = x
Next
End If
Next j
Next i
Sirala = Liste
End Function
