Skip to main content

AccessTr.neT


Araç Plakalarından Boşta Olanları Bulma

Araç Plakalarından Boşta Olanları Bulma

#19
(10/03/2024, 13:31)atoykan yazdı: @feraz Hocam herkesin kendi tercihi. Biz elimizden geldiğince yardımcı olmaya, öğrenilmesi için kodlara açıklama eklemeye veya kod eklerken işlevlerini mesajda anlatmaya çalışıyoruz. Öğrenmek azminde olana da geliştirmelerinde yardımcı olabilmeye gayret ediyoruz, sitede isim isim saymaya gerek yok örneği dostlar çokça mevcut. Gayret eden zaten bu kadar basic sorularla gelmemeye, daha komplike işlemler veya üzerinde çalıştığı kod ile ilgili sorular sormaya devam geliyor. Onun dışında öğrenmek isteyenlere yol gösterebilmesi için ben sadece temel bazında beginner seviye kodları yazıp paylaşmaya özen gösteriyorum mümkün olduğunca.
Neticede bu Vba daha ne olabilir ki diyenler de olabiliyor, lakin bende hep şunu söylüyorum kodlama dilinin sınırları dışında bir sınır yok. 15 sene önce koca barajın akışkan dinamiği analizleri için SQL-Scada-Access-Excel entegre bir analiz uygulaması yaptığımda Vba ile olmaz diye yırtınan bir amatör yazılımcıları Vba öğretmem için peşimde koşturdu aylarca. Nihayetinde öğrencimiz oldu ama C# için şimdi başarılı bir yazılımcı olarak bankalara hizmet veriyor. Dediğim gibi sınır sadece kodlama dilinin kapasitesi ile sınırlı onun dışındaki tüm sınırlar bireylerin kendisi.

Img-grin
Sayın hocam benimde başımdan geçti.Başka biri forumdan beni bulmuştu ve yalan olmasın en az 3 sene ona yardım ettim uzak baplantı ve whatsapptan konuşarak.Adama hertürlü anlattım en sonunda benim şartel attı Img-grin
Alışverişe gitmiştim bana yazmış with ne diye Img-grin
Hemen yazdım ona artık yardım etmeyeceğim diye.Kısaca çok kişi var maliesef ama dediğim gibi herkesin kendi bileceği iş yapacak birşey yok.Bu arkadaşta Er ile başlıyordu ismi yanlış anlaşılmasın.
Yani dediğiniz gibi çok kişi var maliesef.
Yinede yyhy hocamız yanlış anlamasın ben sadece durumu yazdım.
Bende uzman değilim ama biraz uğraştıktan yada araştırdıktan sonra zaten %90 cevap bulunuyor.
Cevapla
#20
(10/03/2024, 10:09)atoykan yazdı: Sadece il kodu ve iki harf kurgusu üzerinden ilerleyeceksiniz aşağıdaki kodu kullanın. Ancak rica edeceğim mantığı anlamanız ve kendiniz yapmaya çalışabilmeniz için olabilecek en basit halde kodlamaya çalıştım, mantığını anlayıp kendiniz çalışmanıza göre revize etmeye, senaryolarınıza göre uyarlamaya çalışmaya gayret edin, takıldığınız her an nasılsa cevap veriliyor diyerek sormaya devam etmek yerine üzerinde biraz çalışıp, anlayıp pekiştirdikçe de örneğin @feraz hocamın vermiş olduğu gibi sadeleştirilmiş kodlara hakim olup yazabiliyor olacaksınız.

Sub PlakaKontrol()
    Dim ws As Worksheet
    Dim LastRow As Long, i As Long
    Dim SeriNo As String
    Dim Plaka As Range, Verilmeyenler As Range

    Set ws = ThisWorkbook.Sheets("Sayfa1") ' Çalışma sayfasını tanımla
    LastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row ' Son satırı bul
    strwhat = Left(Cells(3, 4), 4)
   

    For i = 3 To LastRow
        SeriNo = ws.Cells(i, 3).Value ' Seri-999 değerini al

        ' Plaka sütununda "99AL" & serino'yu ara
        Set Plaka = ws.Columns("DLol").Find(What:=strwhat & SeriNo, LookIn:=xlValues, LookAt:=xlWhole)

        If Plaka Is Nothing Then ' Eğer kayıt yoksa Verilmeyenler sütununa ekle
            If Verilmeyenler Is Nothing Then
                Set Verilmeyenler = ws.Cells(i, 3)
            Else
                Set Verilmeyenler = Union(Verilmeyenler, ws.Cells(i, 3))
            End If
            ws.Cells(i, 3).Value = strwhat & SeriNo
        End If
    Next i

    If Not Verilmeyenler Is Nothing Then ' Verilmeyen plakaları alt alta sırala
        Verilmeyenler.Copy ws.Cells(3, 5)
    End If

    For i = 3 To LastRow
        SeriNo = ws.Cells(i, 3).Value
        If InStr(SeriNo, strwhat) > 0 Then
            ws.Cells(i, 3).Value = Format(Mid(SeriNo, 5), "000")
        End If
    Next i

    MsgBox "İşlem tamamlandı!", vbInformation
End Sub

Sayın @atoykam bey son vermiş olduğunuz kod ile ilgili olarak sonuç doğru olarak çalışmaktadır. Emeğinize sağlık. Kod temelimiz olmayınca formül ile istemiştim. Ama kod teklifi gelince de kod da alternatif olarak ihtiyaca cevap verdi. Sizleri yorduk. Teşekkür ederiz.

(10/03/2024, 14:56)feraz yazdı:
(10/03/2024, 13:31)atoykan yazdı: @feraz Hocam herkesin kendi tercihi. Biz elimizden geldiğince yardımcı olmaya, öğrenilmesi için kodlara açıklama eklemeye veya kod eklerken işlevlerini mesajda anlatmaya çalışıyoruz. Öğrenmek azminde olana da geliştirmelerinde yardımcı olabilmeye gayret ediyoruz, sitede isim isim saymaya gerek yok örneği dostlar çokça mevcut. Gayret eden zaten bu kadar basic sorularla gelmemeye, daha komplike işlemler veya üzerinde çalıştığı kod ile ilgili sorular sormaya devam geliyor. Onun dışında öğrenmek isteyenlere yol gösterebilmesi için ben sadece temel bazında beginner seviye kodları yazıp paylaşmaya özen gösteriyorum mümkün olduğunca.
Neticede bu Vba daha ne olabilir ki diyenler de olabiliyor, lakin bende hep şunu söylüyorum kodlama dilinin sınırları dışında bir sınır yok. 15 sene önce koca barajın akışkan dinamiği analizleri için SQL-Scada-Access-Excel entegre bir analiz uygulaması yaptığımda Vba ile olmaz diye yırtınan bir amatör yazılımcıları Vba öğretmem için peşimde koşturdu aylarca. Nihayetinde öğrencimiz oldu ama C# için şimdi başarılı bir yazılımcı olarak bankalara hizmet veriyor. Dediğim gibi sınır sadece kodlama dilinin kapasitesi ile sınırlı onun dışındaki tüm sınırlar bireylerin kendisi.

Img-grin
Sayın hocam benimde başımdan geçti.Başka biri forumdan beni bulmuştu ve yalan olmasın en az 3 sene ona yardım ettim uzak baplantı ve whatsapptan konuşarak.Adama hertürlü anlattım en sonunda benim şartel attı Img-grin
Alışverişe gitmiştim bana yazmış with ne diye Img-grin
Hemen yazdım ona artık yardım etmeyeceğim diye.Kısaca çok kişi var maliesef ama dediğim gibi herkesin kendi bileceği iş yapacak birşey yok.Bu arkadaşta Er ile başlıyordu ismi yanlış anlaşılmasın.
Yani dediğiniz gibi çok kişi var maliesef.
Yinede yyhy hocamız yanlış anlamasın ben sadece durumu yazdım.
Bende uzman değilim ama biraz uğraştıktan yada araştırdıktan sonra zaten %90 cevap bulunuyor.

Sayın @feraz bey sizlerden de bir çok çalışma dosyasına yardım aldım bende de çok emeğiniz var.
Ayrıca Sayın @atoykan hocam dan da yardımlar aldım emeğine sağlık.
Bu konu ile ilgili olarak formülle ve makro ile cevap buldu emeği geçenlere teşekkür ederim.
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 11/03/2024, 23:09, 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