• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Verileri Sırayla takip etme

Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
Ekteki dosya üzerinde açıklama yaptım arkadaşlar . kolay gelsin
 

Ekli dosyalar

Selamlar,

İstediğiniz tabiki yapılabilir fakat hangi sıralama baz alınacak?

Yani B21 hücresine veri girdiğinizde neden C21 hücresine "1. İdari Mahkemesi" açıklaması gelecek?
Ya da B22 hücresine veri girdiğinizde neden C22 hücresine "1. Vergi Mahkemesi" açıklaması gelecek?
 
11 tane vergi 10 tanede idare mahkemesi mevcut. Amaç kişileri bu mahkemelere göre dağıtmak. Bugün kayıt yapacağımız birinci kişiyi 1. İdare Mahkemesinde görevlendirirsek bir sonraki kişiyide 2. İdare mahkemesinde görevlendirmek.Bütün mahkemeler bittiğinde tekrar baştan yani 1 nolu mahkemeden tekrar başlamak. Bunu otomatik yapmak istiyorum.
 
Selamlar,

Sn. Ferhat bey,

Kayıt işlenirken C sütunundaki sıralama bir İDARİ bir VERGİ olarakmı devam edecek? Yoksa peşpeşe 2 ya da daha fazla İDARİ gelebilir mi?
 
Kusura bakmayın orasını atlamışım. 1 idare sonra 1 vergi, sonra 2 idare, sonra 2 Vergi şeklinde olacak. Teşekkür ederim.
 
Selamlar,

Son sorumuda sorayım. Aşağıdaki açıklamanızdaki 11 ve 10 sayıları son mesajınıza göre nasıl eşleşmelidir. Örneklermisiniz.

11 tane vergi 10 tanede idare mahkemesi mevcut. Amaç kişileri bu mahkemelere göre dağıtmak. Bugün kayıt yapacağımız birinci kişiyi 1. İdare Mahkemesinde görevlendirirsek bir sonraki kişiyide 2. İdare mahkemesinde görevlendirmek.Bütün mahkemeler bittiğinde tekrar baştan yani 1 nolu mahkemeden tekrar başlamak. Bunu otomatik yapmak istiyorum.
 
Selamlar,

Ben örnek dosyanıza göre 9 dan sonra tekrar 1 den başlayacak şekilde aşağıdaki kodu ayarladım. Deneyin. Eksikleri varsa yeniden düzenleriz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("B3:B65536")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target <> "" Then
        If Val(Left(Target.Offset(-1, 1), 1)) = 9 Then
            If InStr(1, Target.Offset(-1, 1), "İdare") > 0 Then
                Target.Next = "9.Vergi Mahkemesi"
            ElseIf InStr(1, Target.Offset(-1, 1), "Vergi") > 0 Then
                Target.Next = "1.İdare Mahkemesi"
            End If
        
        ElseIf Val(Left(Target.Offset(-1, 1), 1)) < 9 Then
            If Target.Offset(-1, 1) = "" Then
                Target.Next = Val(Left(Target.Offset(-1, 1), 1)) + 1 & ".İdare Mahkemesi"
            ElseIf InStr(1, Target.Offset(-1, 1), "İdare") > 0 Then
                Target.Next = Val(Left(Target.Offset(-1, 1), 1)) & ".Vergi Mahkemesi"
            ElseIf InStr(1, Target.Offset(-1, 1), "Vergi") > 0 Then
                Target.Next = Val(Left(Target.Offset(-1, 1), 1)) + 1 & ".İdare Mahkemesi"
            End If
        End If
    Else
        Target.Next.ClearContents
    End If
 
Son: Application.EnableEvents = True
End Sub
 
Kusura bakmayın hocam. Kodların işleyişini bilmediğim için böyle abuk subuk isteklerde bulunuyorum. Ben şöyle bir şey düşünmüştüm. Elimdeki tüm mahkeme isimlerini bir sutuna yazmak sonrada B4 sutununa veri girildiği zaman C3 hücresindeki Mahkeme ismi ile Mahkeme isimlerinin hepsinin yazılı olduğu sutundaki sıralama ile eşleşme yapsın ve bir sonraki mahkeme ismini C4 hücresine yazsın gibi

Örnek verecek olursak B4 Hücresine Ferhat Gürbüz yazdığım zaman C3 hücresinde de 5. Vergi Mahkemesinin yazılı olduğunu varsayarsak Tüm mahkeme isimlerini olduğu sutundaki liste ile C3 hücresindeki mahkeme ismini kıyaslasın ve C4 hücresine 6. Vergi Mahkemesini yazsın.

Excel de bana yuh artık dermi :-))


Birde yukarıdaki kodu yapıştırdım ama hiçbir tepki vermedi. Eğer zahmet olmaz ise örnek dosyaya ekleyebilir misiniz. :-(((
 
Selamlar,

Sn. ferhatgurbuz,

Keşke son mesajınızdaki açıklamarı en baştan yapsaydınız. Sizi sorularımla bu kadar yormazdım. Son mesajınızdaki açıklamalarınıza göre dosyanızı revize edip tekrar eklermisiniz.
 
Dosya ektedir hocam.

Sizler kusurumuza bakmayın hocam. Ne istediğimizi tam anlatamıyoruz. Teşekkür ederim. kolay gelsin
 

Ekli dosyalar

Selamlar,

Aşağıdaki kodu "DATA" isimli sayfanızın kod bölümüne uygulayıp deneyin. B3 hücresinden itibaren veri girip deneme yapın.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim BUL As Range
    
    On Error GoTo Son
    If Intersect(Target, Range("B3:B65536")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target <> "" Then
        If Target.Row = 3 Or Left(Target.Offset(-1, 1), 2) = 11 Then Target.Offset(0, 1) = Range("K3"): GoTo Son
        Set BUL = Range("K:K").Find(Target.Offset(-1, 1))
        If Not BUL Is Nothing Then Target.Offset(0, 1) = BUL.Offset(1, 0)
    End If
 
Son:
    Set BUL = Nothing
    Application.EnableEvents = True
End Sub
 
Süzme kodunda hata

Hocam bir önceki sorunu sayenizde çözmüş bulunmaktayım.Teşekkür ederim. Ama sorunlar bitmiyor maalesef. Ekteki dosya üzerinde örnek ile açıklamaya çalıştığım gibi.Rapor sayfasında form üzerinde tarih seçip süzme yaptığımda DATA sayfasında bulunan E ve F sutunlarındaki tarihlerin hepsini süzüyor. Benim istediğim şey ise sadece F sutunundaki tarihlerin süzülmesi.Kolay gelsin teşekkürler
 

Ekli dosyalar

:cool:
Kod:
For Each hcr In s1.Range("F2:F" & sat)
    If hcr.Value = CDate(ComboBox1.Value) Then
        s2.Range("B" & sat2) = sat2 - 1
        s2.Range("B" & sat2 & ":F" & sat2).Value = s1.Range("B" & hcr.Row & ":F" & hcr.Row).Value
        sat2 = sat2 + 1
   End If
Next
 
teşekkürler hocam ellerinize sağlık. kolay gelsin iyi çalışmalar
 
Comboboxta liste seçimi

Rapor al menüsünde F sutununa göre olan işlemin aynısını E sutuna göre uygulamak istedim. Ama Combobox a listeyi nereden uygulayacağımı bulamadım. yardımcı olursanız sevinirim.
 

Ekli dosyalar

Dosyanızda bazı düzenlemeler yaptım.Kontrol ediniz.
 

Ekli dosyalar

Bu kodda hata veriyor.

Rows("2:100").Select
Selection.Sort Key1:=Range("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A1").Select
 
Arkadaşlar kolay gelsin. Bu konuyu 11. mesajda çözmüştük ama bir sorun daha çıktı.
Aşağıdaki mahkeme isimlerine göre otomatik sıra alıyorduk. Ama şöyle birşey oldu. İdare Mahkemeleri 10 tane vergi mahkemeleri de 11 tane olunca işler karıştı.

1.İdare Mahkemesi
1.Vergi Mahkemesi
2.İdare Mahkemesi
2.Vergi Mahkemesi
3.İdare Mahkemesi
3.Vergi Mahkemesi
4.İdare Mahkemesi
4.Vergi Mahkemesi
5.İdare Mahkemesi
5.Vergi Mahkemesi
6.İdare Mahkemesi
6.Vergi Mahkemesi
7.İdare Mahkemesi
7.Vergi Mahkemesi
8.İdare Mahkemesi
8.Vergi Mahkemesi
9.İdare Mahkemesi
9.Vergi Mahkemesi
10.İdare Mahkemesi
10.Vergi Mahkemesi
11.Vergi Mahkemesi


Private Sub Worksheet_Change(ByVal Target As Range)
Dim BUL As Range

On Error GoTo son
If Intersect(Target, Range("B3:B65536")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target <> "" Then
If Target.Row = 3 Or Left(Target.Offset(-1, 1), 2) = 11 Then Target.Offset(0, 1) = Range("P3"): GoTo son
Set BUL = Range("P:P").Find(Target.Offset(-1, 1))
If Not BUL Is Nothing Then Target.Offset(0, 1) = BUL.Offset(1, 0)
End If

son:
Set BUL = Nothing
Application.EnableEvents = True
End Sub

Bu koda göre P sutununda yapmış olduğum bu sıralamayı takip ediyor. 11.Vergi Mahkemesinden sonra tekrar 1.Vergiden başlıyordu.

Şöyle birşey olması mümkün mü. Önce İdare Mahkemelerinden bir mahkemeyi sonra Vergi Mahkemelerinden bir mahkemeyi verecek ama idare ve vergi mahkemeleri eşit şekilde olacak. Şöyle örnek vereyim Toplam kayıtın 22 olduğunu varsayarsak ve ilk başta 1. İdare Mahkemesinden Başladığmızı düşünürsek, 1. Vergi Mahkemesi şeklinde devam edip. En son iki kayıtın 1. İdare Mahkemesi ve 11. Vergi Mahkemesi şeklinde olması lazım.

Sıra

1- 1.İdare Mahkemesi
2- 1.Vergi Mahkemesi
3- 2.İdare Mahkemesi
4- 2.Vergi Mahkemesi
5- 3.İdare Mahkemesi
6- 3.Vergi Mahkemesi
7- 4.İdare Mahkemesi
8- 4.Vergi Mahkemesi
9- 5.İdare Mahkemesi
10- 5.Vergi Mahkemesi
11- 6.İdare Mahkemesi
12- 6.Vergi Mahkemesi
13- 7.İdare Mahkemesi
14- 7.Vergi Mahkemesi
15- 8.İdare Mahkemesi
16- 8.Vergi Mahkemesi
17- 9.İdare Mahkemesi
18- 9.Vergi Mahkemesi
19- 10.İdare Mahkemesi
20- 10.Vergi Mahkemesi
21- 1.İdare Mahkemesi
22- 11.Vergi Mahkemesi


bu şekilde devam edip gitmesi lazım. Biraz karışık oldu ama kusura bakmayın.
 

Ekli dosyalar

Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("B3:B65536")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Target <> "" Then
        If Target.Row = 3 Then
            Target.Next = "1.İdare Mahkemesi"
            GoTo Son
        End If
        
        If Target.Row = 4 Then
            Target.Next = "1.Vergi Mahkemesi"
            GoTo Son
        End If
        
        If InStr(1, Target.Offset(-1, 1), "İdare") > 0 Then
            If Target.Offset(-2, 1) = "11.Vergi Mahkemesi" Then
                Target.Next = "1.Vergi Mahkemesi"
            Else
                Target.Next = Val(Split(Target.Offset(-2, 1), ".")(0)) + 1 & ".Vergi Mahkemesi"
            End If
        
        ElseIf InStr(1, Target.Offset(-1, 1), "Vergi") > 0 Then
            If Target.Offset(-2, 1) = "10.İdare Mahkemesi" Then
                Target.Next = "1.İdare Mahkemesi"
            Else
                Target.Next = Val(Split(Target.Offset(-2, 1), ".")(0)) + 1 & ".İdare Mahkemesi"
            End If
        End If
    
    Else
        Target.Next.ClearContents
    End If
 
Son: Application.EnableEvents = True
End Sub
 
Geri
Üst