Çözüldü Makro ile ad soyad yazımındaki hata

ErolU

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Arkadaşlar internetten bulduğum ve ekteki belgeye uyarladığım koddaki sorun şöyle:

Kod C sütununda ad ve soyadları aşağıdaki gibi yazdırıyor.
Mehmet Ali BEY (Adların ilk harfi büyük, soyad tamamen büyük.)
SORUNLAR:
1. Sadece ad yazılınca (yani tek sözcük yazılırsa) sözcüğün başında 1 karakterlik boşluk oluşması.
2. İki ve daha fazla sözcük yazılınca ve son sözcükten sonra hata ile 1 karakterlik boşluk bırakılınca
sonda 1 karakter boşluk olduğu için son sözcük tamamen büyük harf olmuyor.
Bu sorunların düzeltilmesi mümkün müdür?
 

Ekli dosyalar

@Erol U.

Sayfanın kod bölümünde mevcut kodu aşağıdakiyle değiştirin.
Tek keime (isim) yazıldığında, soyadının yazılmasına zorlamak için
F2 işlemiyle ilgili SENDKEYS kodu mevcut olduğundan VBA ekranı kapalıyken kullanılmalıdır.
Yazılan kelimelerin yarısından fazlasının isim, geriye kalanın ise soyisim olduğu varsayıldı.
Başta ve sondaki boşluklar ile arada yazılacak 1'den fazla boşluklar temizlenir.

VBA:
İçeriği görüntülemek için giriş yapmalısınız
(11 satır)

.
 

Ömer BARAN,​

Kod için teşekkür ederim.
Birden fazla olan boşluklarda sorun devam ediyordu.
Geçen gün yabancı bir sitede bir şey görmüştüm, onu denedim durum düzeldi. (İlgili site: Tıklayın!)
Şöyle yaptım:
Sizin kodunuzda Trim yazan yerleri WorksheetFunction.Trim şeklinde düzenledim. Bu ikisi farklı imiş.

DEVAM EDEN SORUN
4 sözcükten oluşan bir isim (TR'de en fazla 4 sözcük kullanılabiliyor.) yazıldığında şöyle yazıyor:
Erol Erol EROL EROL
Bunu aşağıdaki gibi son sözcük tamamen büyük, öncekilerin ilk harfi büyük şeklinde yazdırabilir miyiz?
Erol Erol Erol EROL

Kodun son hâli:
Kod:
İçeriği görüntülemek için giriş yapmalısınız
(11 satır)
 
WorksheetFunction.Trim ibaresinin 1 kez kullanılması yeterlidir.
Kodu aşağıdaki gibi kullanabilirsiniz.
Sadece son kelime tümü büyük, diğerleri baş harfi büyük hale getirilir ve
boşluklar ayıklanır. Tek kelimeye izin verilmez ve hücre içerisine giriş sağlanır.
VBA ekranı kapalıyken deneyiniz.

VBA:
İçeriği görüntülemek için giriş yapmalısınız
(11 satır)
 
Teşekkürler, isimler hatasız yazılıyor.

Listeyi seçip silince type mismatch hatası veriyor.
Bu hata On Error GoTo 1 ifadesini kodun başına ekleyerek ve End Sub dan önce 1 yazarak çözülüyor.
Böyle kullanmada bir sakınca olur mu?
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
6
Üst