Daha önceleri forumdaki ustalarımın yardımı ile bazı makro kodları edinmiştim ama uzun süredir excel ile uğraşmadığım için yapılanları ve yaptıklarımı hatırlamakta güçlük çekiyorum
kullandığımız macro kodu ile Texbox a yazdığımızı arama yaparak listbox ta listeleme yapıyorduk benim isteğim kodlardan bazı satırların çıkartılması
Kırmızı renk ile işaretlediğim yerdeki kodlarda listemizdeki sıralamada 4 ismi ilk başa taşıması amaçlanmıştı. ben bu satırları çıkartıyorum ama fazladan başka birşeyleride siliyorum herhalde hata yapıyor.
Gerçi istediğim işi ListBox2.ColumnWidths satırındaki sayısal değerleri 1 yaparak kapattım ama ne kadar çok kod o kadar çok karmaşıklık ve hata demektir sözünü siz değerli ustalarımdan duymuştum
kullandığımız macro kodu ile Texbox a yazdığımızı arama yaparak listbox ta listeleme yapıyorduk benim isteğim kodlardan bazı satırların çıkartılması
Kod:
Option Explicit
Private Sub TextBox1_Change()
Dim sh As Worksheet
Dim bul As Range, rg As Range
Dim y As Integer, satir As Integer, x As Integer
Dim i As Integer, j As Integer
Dim arrSatir()
Dim arrveri()
Dim adres As String
If Trim(TextBox1) = Empty Then: ListBox2.Clear: Exit Sub
Set sh = Sheets("TOPLATMA")
Set rg = sh.Range("B1:B65536")
Set bul = rg.Find(What:=TextBox1, Lookat:=xlPart)
ListBox2.Clear
ListBox2.ColumnWidths = "40;[COLOR="Blue"][B]1;1;1;1[/B][/COLOR];300;75;75;75;75;65;65;150"
ListBox2.ColumnCount = 18
If Not bul Is Nothing Then
adres = bul.Address
Do
If bul.Row = satir Or bul.Row = 1 Then: GoTo f1
satir = bul.Row
ReDim Preserve arrSatir(x)
arrSatir(x) = bul.Row
x = x + 1
f1:
Set bul = rg.FindNext(bul)
Loop While Not bul Is Nothing And bul.Address <> adres
End If
On Error Resume Next
ReDim Preserve arrveri(UBound(arrSatir) + 1, 0)
arrveri(0, 0) = "Sıra No"
For i = 1 To UBound(arrSatir) + 1
arrveri(i, 0) = sh.Cells(arrSatir(i - 1), 1)
Next i
[COLOR="Red"]ReDim Preserve arrveri(UBound(arrSatir) + 1, 4)
arrveri(0, 1) = "Görevli-1": arrveri(0, 2) = "Görevli-2"
arrveri(0, 3) = "Görevli-3": arrveri(0, 4) = "Görevli-4"For i = 1 To UBound(arrSatir) + 1
For j = 1 To 4
arrveri(i, j) = sh.Cells(arrSatir(i - 1), j + 26)[/COLOR]
Next j
Next i
ReDim Preserve arrveri(UBound(arrSatir) + 1, 30)
For i = 1 To 25
arrveri(0, i + 4) = sh.Cells(1, i + 1)
Next i
For i = 1 To UBound(arrSatir) + 1
For j = 5 To 29
arrveri(i, j) = sh.Cells(arrSatir(i - 1), j - 3)
Next j
Next i
ListBox2.List = arrveri
ListBox2.ListIndex = 0
Set sh = Nothing
End Sub
Kırmızı renk ile işaretlediğim yerdeki kodlarda listemizdeki sıralamada 4 ismi ilk başa taşıması amaçlanmıştı. ben bu satırları çıkartıyorum ama fazladan başka birşeyleride siliyorum herhalde hata yapıyor.
Gerçi istediğim işi ListBox2.ColumnWidths satırındaki sayısal değerleri 1 yaparak kapattım ama ne kadar çok kod o kadar çok karmaşıklık ve hata demektir sözünü siz değerli ustalarımdan duymuştum
