Skip to main content

AccessTr.neT


Gelişmiş Filtre Uygulamak

Gelişmiş Filtre Uygulamak

#7
Rica ederim.Son kod verileri getiriyordu.Bende sevmiyorum işin açığı son kodu ama kısa.Onu mesela *a* gibi aratırsanız a içerenleri bulur.Son kod zaten gelişmiş filte kodu.İlk yaptığım koddada sıkıntı yoktu.Birde fırsat bulunca başka yöntem uygularım.
Cevapla
#8
Arşivimde bir dosya vardı zamanında yapmıltım aynısını.
| ile hücreleri birleştirip dizi içine alıp çok hızlıca veriler getiriliyordu.Sonra uygularım inşAalah onu.Verdiğim kodlar çalışıyor diye onu es geçmiştim Img-grin
Cevapla
#9
Youtubedede bolca örnekler var ilkini ekliyorum.Yinede bir izleyip anlamaya çalışın çok kolay.

Cevapla
#10
İlk videoyu ilk defa izledim şimdi tam anlatamamış önce alanı dildirmeliydi.
Birde bunu izleyin yani mantığı anlarsanız kolay.
Cevapla
#11
[Resim: do.php?img=9987]


Option Compare Text

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
    With Sheets("Veri")
        If Not Intersect([D7:M7], Target) Is Nothing Then
          listele
        End If
    End With
Application.ScreenUpdating = True
End Sub


Sub listele()
   
        Dim veri, sonVeri As Integer, key1, key2, say As Integer, i As Integer
       
        With Sayfa1
            sonVeri = .Cells(Rows.Count, "D").End(3).Row + 1
            veri = .Range("E4:P" & sonVeri).Value
        End With
       
        ReDim arr(1 To 12, 1 To UBound(veri, 1)) '12 arama saydasi D ile P arasi sütun sayisi
       
        With Sayfa2
            If WorksheetFunction.CountA(.Range("D7:M7")) = 0 Then
                .Range("D8:M" & Rows.Count).ClearContents
                GoTo son
            End If
           
            key1 = "*" & .Range("D7").Value & "*|*" & .Range("E7").Value & "*|*" & .Range("F7").Value & "*|*" & .Range("G7").Value & "*|*" & _
                        .Range("H7").Value & "*|*" & .Range("I7").Value & "*|*" & .Range("J7").Value & "*|*" & _
                        .Range("K7").Value & "*|*" & .Range("L7").Value & "*|*" & .Range("M7").Value & "*"
        End With
       
        For i = LBound(veri) To UBound(veri)
            key2 = "*" & veri(i, 1) & "*|*" & veri(i, 2) & "*|*" & veri(i, 3) & "*|*" & veri(i, 5) & _
                                      "*|*" & veri(i, 6) & "*|*" & veri(i, 7) & "*|*" & veri(i, 8) & _
                                      "*|*" & veri(i, 9) & "*|*" & veri(i, 10) & "*|*" & veri(i, 11) & "*"
            If CStr(key2) Like CStr(key1) Then
                say = say + 1
                arr(1, say) = veri(i, 1)
                arr(2, say) = veri(i, 2)
                arr(3, say) = veri(i, 3)
                arr(4, say) = veri(i, 5)
                arr(5, say) = veri(i, 6)
                arr(6, say) = veri(i, 7)
                arr(7, say) = veri(i, 8)
                arr(8, say) = veri(i, 9)
                arr(9, say) = veri(i, 10)
                arr(10, say) = veri(i, 11)
            End If
        Next
       
        With Sayfa2 '******
            .Range("D8:M" & Rows.Count).ClearContents
            If say > 0 Then
                ReDim Preserve arr(1 To UBound(arr), 1 To say)
                .Range("D8").Resize(say, 10).Value = Application.Transpose(arr)
            End If
        End With '******
son:
        On Error Resume Next
       
        Application.ScreenUpdating = True
       
        Erase arr: key1 = vbNullString: key2 = vbNullString: Erase veri
End Sub
.rar İdari Yaptırım - 2020.rar (Dosya Boyutu: 81,01 KB | İndirme Sayısı: 3)
Cevapla
#12
Sayın farez butonlara hazırlamış olduğunuz macroyu atadım. Macro tam istediğim gibi olmuş yalnız; 1774/Ek-6 -S.K.M. tiki ne tıkladığım zaman verileri normal filitre ediyor. TÜMÜ tiki ne tıkladığımda veriyi bir satır boşluk vererek getiriyor. Dosyayı ekliyorum bir daha bakabilir misiniz?
Sayın farez yukarıda Mehmet hocamızdan vermiş olduğunuz videoyu izledim. Hobi amaçlı o küçük programın aynısını yaptım bunda sıkıntı yaşadım.Yukarıda bahsettiğim yeri de yapabilirsem sayenizde bunu da çözmüş olacağım. Teşekkürler.
Son Düzenleme: 02/04/2020, 21:32, Düzenleyen: yyhy.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task