Bu dosya, tam ad bilgisinden yalnızca ilk ad ile soyadı alan NOMIDDLE adlı kullanıcı tanımlı fonksiyonu (KTF) gösterir. Fazladan boşluklar kırpılır, ortadaki adlar atılır ve sonuç tek hücrede verilir. Karmaşık bir hücre formülü yerine kısa bir VBA fonksiyonuyla aynı sonucun nasıl elde edildiği karşılaştırmalı olarak izlenebilir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Formül, diğer satırlara aşağı kopyalanarak kullanılır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: B2:F15 aralığında ad soyad listesi ve sonuç sütunları bulunur. B sütunu ham ad bilgisini içerir, F sütunu KTF'nin ürettiği sonucu gösterir.
- Module1: NOMIDDLE fonksiyonunun yer aldığı VBA modülüdür.
Kullanılan formüller
F3 hücresinde KTF doğrudan çağrılır. B3 hücresindeki ad işlenir:=nomiddle(B3)
Makrolar
- NOMIDDLE
: Önce WorksheetFunction.Trim ile metindeki baştaki, sondaki ve ardışık fazla boşlukları temizler. Ardından Left ve InStr ile ilk boşluğa kadar olan ilk adı, Right, Len ve InStrRev ile son boşluktan sonraki soyadı alır. İkisini birleştirip metin olarak döndürür. - Fonksiyon hücre formülü gibi çalışır; ayrıca çalıştırılacak bir makro düğmesi yoktur.
- Kodda dosya silme veya dışarıya bağlantı gibi zararlı bir işlem bulunmaz.
Nasıl kullanılır
- Dosyayı açın ve güvenlik uyarısında makroları etkinleştirin.
- B sütununa ad ve soyad bilgilerini girin; araya fazladan boşluk girilmiş olması sonucu bozmaz.
- Sonuç hücresine =nomiddle(B3) biçiminde fonksiyonu yazın ya da F3 hücresini aşağı kopyalayın.
- Fonksiyonu başka bir dosyada kullanmak için Module1 modülünü o dosyaya aktarın ve dosyayı .xlsm olarak kaydedin.