• DİKKAT

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

Ek Gösterge İcmali Yazdırma

  • Konbuyu başlatan Konbuyu başlatan Kemter
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Nisan 2011
Mesajlar
73
Excel Vers. ve Dili
Excel-2007-2010
Esselamunaleykum sayın altın üyesi abilerim ve gardaşlarım her ay 195 unvan ve 9800 kişiye manuel çalışıyorum ekte vermiş olduğum dosyaya bir kod yazabileceklerden yardımlarını istirham ediyorum. Vba çok bilen birisi değilim ancak yapılacak bir örneği inşallah sayenizde çoğaltırım. Saygılarımla.

Ekteki dosya örneğin açıklaması 2 sayfa mevcut
1. sayfa adı Genel Liste
2. sayfa adı Ek Gösterge

Genel Listenin A2'de bulunan unvan adlarının Ek Gösterge sayfasında bulunan D2'deki unvanlarda bulup,

Ek Gösterge sayfasındaki KH Derece F2 1 ise Genel Listedeki unvan adı ile başlayanları bulup B1 de 1 ise bunu Ek Gösterge sayfasındaki I2 yazsın

Örnek: Mühendis B1=1 Karşılığı B3=3600 karşılaştırıp, Ek Gösterge sayfasındaki F2 bulunan tüm 1 dereceli mühendisleri bulup 3600 I2 yazsın.

Not:Ek Gösterge sayfasındaki veri 9800 satır, Ek Gösterge sayfasındaki unvanların hem baş tarafında hemde sonlarında bulunan kelimeleri dikkate alınmayacak.Aramalar Ek Göstergedeki unvana göre arama yapılacaktır.
Eksik yada hatalı yazım veya anlatım için şimdiden kusuruma bakmayınız.
Eklenmiş Dosyalar
 

Ekli dosyalar

Son düzenleme:
Dosya eklemeyi unutmuşsunuz galiba.
 
Öncelikle ilginiz için çok teşekkür ederim. Evet unutmuştum şimdi ekledim.
 
Esselamunaleykum hayırlı cumalar.

Muhterem üstadlarım bu konuda yardımlarınızı ricam ediyorum.
Saygılarımla.
 
Merhaba,

Sorunuzu "Altın Üyelere Özel" bölümüne sormuşsunuz.

Ayrıca forum kuralları gereği açtığınız başlıklarda "YARDIM" - "ACİL" şeklinde ifadelerin kullanımına sıcak bakmıyoruz.

Zaten müsait olan üyelerimiz sorulara anında cevap veriyorlar.
 
Merhaba,

Sorunuzu "Altın Üyelere Özel" bölümüne sormuşsunuz.

Ayrıca forum kuralları gereği açtığınız başlıklarda "YARDIM" - "ACİL" şeklinde ifadelerin kullanımına sıcak bakmıyoruz.

Zaten müsait olan üyelerimiz sorulara anında cevap veriyorlar.

Uyarınız için teşekkür ederim. İnşallah bundan sonra dikkat ederim.
 
Makrosuz olarak aşağıdaki formülü kullanabilirsiniz:

Kod:
=DÜŞEYARA(D2;'Genel Liste'!$A$1:$I$8;F2+1;0)

Formülün düzgün çalışması için İsimlerin karşısında yer alan her unvanın Genel listede ayrı bir satırda geçmesi gerekmektedir. Bunun için ya her unvanı Genel Liste sayfasına ekleyip karşısına ek göstergeleri kaydetmelisiniz ya isimler sayfasında başka bir sütunda kişi unvanlarını Genel Listedeki gibi ayrıca belirtmelisiniz ya da isimler sayfasında kullanılan unvanların belirli bir standardı varsa o standardı belirtmelisiniz ki formülü ona göre güncelleyelim. Örneğin her kişi için Parantezden öncesi dikkate alınacak gibi bir kural olabilir.
 
Sayın Yusuf44 bey ilginiz için çok teşekkür ederim.

Genel Liste sayfasında (yaklaşık 75 unvan olacak) unvanlarda parantez öncesi yada sonrası olmayacak şekilde tamamen sabit olacak ve standart olarak kalacak.
Ek gösterge sayfasındaki unvanları ise unvan başlarında parantezsiz olarak geliyor yada unvanlardan sonra parantez içinde oluyor.
Örnek : İNŞAAT BAŞMÜHENDİSİ, MÜHENDİS (BİLGİSAYAR), ELEKTRİK TEKNİKERİ, TEKNİSYEN (MAKİNA), TEKNİSYEN (MAKİNA-MOTOR), TEKNİKER(İNŞAAT) vb. şekilde unvanlar var.
 
VErileriniz gördüğüm kadarıyla standart değil, bazılarında parantezden önce boşluk varken bazılarında boşluk yok. Ayrıca ilk sıradaki Ali için BAŞMUHENDIS yazılmış ama BAŞMÜHENDİS olması lazım, ya da İnşaat Mühendisi şeklinde yazılmış unvanlar var vs. Bu gibi farklılıklar hem formüllerin hem de makroların hatalı çalışmasına neden olur. Yine de aşağıdaki formülü bir deneyin:

Kod:
=EĞERHATA(DÜŞEYARA(KIRP(SOLDAN(D2;BUL("(";D2)-1));'Genel Liste'!$A$1:$I$8;F2+1;0);DÜŞEYARA(D2;'Genel Liste'!$A$1:$I$8;F2+1;0))

Hatalı sonuç çıkan satırlarda (#YOK hatası) unvanı Genel liste ile aynı yaparsanız hata kaybolur.
 
Dosyanızdaki isimler bire bir tutmalı örnek ek gösterge sayfasındaki D2 hucresinde (BAŞMÜHENDIS(ELEKTRONİK) bu var genel liste sayfasında A2 de (Başmühendis) bu var kırmızı yerler uyumsuz yanlış yazılmış kod bunları tanımaz.

KTF ile yazılmış kod
kodun kullanılışı
Kod:
=ek_gösterge(ünvanı;derecesi)

Kod:
=ek_gösterge(D2;F2)

kod
Kod:
Function ek_gösterge(ünvanı, derecesi)

For i = 2 To Worksheets("Genel Liste").Cells(Rows.Count, "A").End(3).Row

aranan1 = Evaluate("=UPPER(""" & Sheets("Genel Liste").Cells(i, "A").Value & """)")
ünvanı = Evaluate("=UPPER(""" & ünvanı & """)")

If InStr(Trim(UCase(ünvanı)), aranan1) > 0 Then
If derecesi = 1 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "b").Value
ElseIf derecesi = 2 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "c").Value
ElseIf derecesi = 3 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "d").Value
ElseIf derecesi = 4 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "e").Value
ElseIf derecesi = 5 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "f").Value
ElseIf derecesi = 6 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "g").Value
ElseIf derecesi = 7 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "h").Value
ElseIf derecesi = 8 Then
ek_gösterge = Sheets("Genel Liste").Cells(i, "ı").Value
Else
ek_gösterge = ""
End If
End If
Next

End Function
 
Geri
Üst