• DİKKAT

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

Sadece sicil ve Ad Soyad değişecek

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,989
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Selamlar

Ekteki dosyada bir belge düzenleyecegiz ama sicil ve ad soyad kısımları otomatik gelsin istiyorum nasıl bir çözüm önerirsiniz.

Örneğin:

=" Kurumumuz personeli "&Sicil için Hücre adı&" sicil numaralı "&ad soyad için hücre adı&" Eğitime katıldığını gösterir belgedir."

diye formül giriyorum oluyor fakat takısını ve paragraf başını yaptıramıyorum

bu konuda çözüm önerilerinizi bekliyorum

Saygılar sunuyorum
 
Örneğinizi düzenledim, nun ekle adlı kullanıcı tanımlı fonksiyorunu kullandım.
 
Hocam Merhaba

Sicil numarası ve ad soyad görünmüyor hocam,

Ayrıca bazen nun bazen ın gibi takılar otomatik değişmeli ad ve soyada göre

Örneğin: Orhan AK'ın, Mehmet Deniz'in , Hasan Demirci'nin

gibi

Saygılar
 
Sayın komutan63

Belge No yu 1, 2 veya 3 yapıp deneyin.
 
Belge numarasını 4 ten aşağı düşürürsen senin istediğin gibi çalışıyor.

Fakat 4 ve üstü olarak çalıştırmak istersen (Sayfa 2'ye gerekli ilaveleri yaparak) sadece sicil numaraları geliyor. İsimler bende gelmedi.
 
Son düzenleme:
Belge noyu 1,2,3 yapın deneyin. Ayrıca dosyaya girerken makroları etkinleştiri tıklatarak girmeniz gerekir.
 
Belge numarasını 4 ten aşağı düşürürsen senin istediğin gibi çalışıyor.

Fakat 4 ve üstü olarak çalıştırmak istersen (Sayfa 2'ye gerekli ilaveleri yaparak) sadece sicil numaraları geliyor. İsimler bende gelmedi.

Pardon ben çalıştıramamışım, son denememde sorunsuz çalışıyor.
 
Belge numarasını 4 ten aşağı düşürürsen senin istediğin gibi çalışıyor.

Konuya biraz daha açıklık getirelim.
Sayın veyselemre dosyanızda;

DOLAYLI("Sayfa2!B" &C6+1);" ...........";NunEkle(DOLAYLI("Sayfa2!a" &C6+1))

formülünü kullanmış. 1,2,ve 3 yapın demekten kasıt bu. Dolaylı formülü ile Sayfa2 de ki kayıtlar bulunup ona göre Birleştir komutu ile çalışıyor. Sizin Sayfa2 de 3 tane kayıtınız olduğu için, Belge noyu 4 ve üzeri yaparsanız Sicil ve Ad Soyad boş gelir.
 
Veysel Hocam elinize sağlık çok güzel çalışıyor

Yalnız yaptığınız bu formülü bildiğim yanları da var ama açıklamasını yapabilirmisiniz?

Siz açıklamadan ben anladığımı kısaca yazıyorum;
Sayfa2!B--İkinci sayfa B sütunu
C6+1-----Belge no olan hücre yi bir artırmak
Sayfa!2A--İkinci sayfa A sütunu
NunEkle--Bunun için kullanıcı tanımlı fonksiyon demişsiniz nasıl yaptığınızdan bahsedermisiniz? Mantığını kavramam gerekiyor öğrenmek için (Siz bana balığı tutup verdiniz ama ben balık nasıl tutulur onu öğrenmek istiyorum) Ukalalık etmek istemem lütfen yanlış anlamayın

Umarım yukarıda yazdıklarım doğrudur.


DOLAYLI("Sayfa2!B" &C6+1);" sicil numaralı ";NunEkle(DOLAYLI("Sayfa2!a" &C6+1));"

Saygılarımı sunuyorum





Not: AS3434 hocam size ve Sn: Seceren e de ayrıca teşekkürler
 
Selamlar,

Veysel hocam açıklayacakmısınız

Saygılar
 
Kod:
Function NunEkle(giris)
If giris = "" Then Exit Function
ara = Array("A", "E", "I", "İ", "O", "Ö", "U", "Ü") 
'Ekleme yapılacak kelimelerde aranılacak harfler.
ekle = Array("ın", "in", "ın", "in", "un", "ün", "un", "ün") 
'Yukarıdaki sıraya göre
'aranılan harf bulunduğunda eklenecek ek ler.

'Bu kısımda sağdan birinci karektere bakılıyor. Bu harf ara dizisinde geçiyorsa
'ekle dizisindeki aynı indexli ek ve 'n ilavesiyle birlikte girişe ekleniyor.
'eğer sağdan birinci karekter ara dizisinde mevcutsa gerekli eklemeler yapılıp
'fonksiyondan çıkılıyor.

For x = 0 To 7 
    If InStr(Right(giris, 1), ara(x)) > 0 Then
        NunEkle = giris & "'n" & ekle(x)
        Exit Function
    End If
Next x

'Bu kısımda sağdan birinci karekter ara dizisinde bulunmuyorsa yukarıdaki 
'işlemler sağdan ikinci karekter için yapılıyor. Bu sefer sadece ' işareti 
'ekleniyor. Ve fonksiyondan çıkılıyor.

For x = 0 To 7
    If InStr(Left(Right(giris, 2), 1), ara(x)) > 0 Then
        NunEkle = giris & "'" & ekle(x)
        Exit Function
    End If
Next x

've hala bulunamadıysa sağdan üçüncü karektere bakılıyor.

For x = 0 To 7
    If InStr(Left(Right(giris, 3), 1), ara(x)) > 0 Then
        NunEkle = giris & "'" & ekle(x)
        Exit Function
    End If
Next x
NunEkle = ""
End Function
Ayrıca Haluk Beyin imzası (Kod anlatılmaz, .... yazılır !) da kodu anlatmaktan çok üzerinde çalışılarak öğrenileceğini ne güzel anlatıyor.
 
Ayrıca Haluk Beyin imzası (Kod anlatılmaz, .... yazılır !) da kodu anlatmaktan çok üzerinde çalışılarak öğrenileceğini ne güzel anlatıyor.

Hocam çok teşekkür ederim.

Sizlerin sayesinde birşeyler anlamaya çalışıyorum.

Saygılar
 
Günaydın arkadaşlar;
Yukarıdaki Veyselemre beyin kullanıcı tanımlı foncsiyonunu kopyaladım dosyama uyguladım,isimler küçük harfle yazıldığında sonuç alamıyorum ancak büyük harfle yazılınca sonuç veriyor.Kodlarda ne şekilde bir değişiklik yapılırsa sonuç alınabilir.
Teşekkürler.
(Arkadaşlar Sorun çözüldü, Teşekkürler)
 
Geri
Üst