Replace What:="X",Replacement Funksiyonuna IF-ELSE Eklemek

Katılım
21 Haziran 2007
Mesajlar
97
Excel Vers. ve Dili
Rusca 2003
Merhaba arkadaşlar.
Newbook.Sheets(1),Range(''B1:B40000").Replace What:="X", Replacement:="Y"
Funksiyonuna Eklemek istediyim şu. Eger :="X" ilk olarsa büyük ilkden sonrakı olursa küçük olsun...Bu konuda yardım ederseniz sevinirim:yardim:
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,632
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek bir dosya eklermisiniz.
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
Merhaba arkadaşlar.
Newbook.Sheets(1),Range(''B1:B40000").Replace What:="X", Replacement:="Y"
Funksiyonuna Eklemek istediyim şu. Eger :="X" ilk olarsa büyük ilkden sonrakı olursa küçük olsun...Bu konuda yardım ederseniz sevinirim:yardim:
Neden örnek dosya eklemelisiniz?
Çünkü; Yazdığınız kod hatalı. Sheets ile Range arasındaki virgülün anlamı nedir?
Çünkü; Newbook nedir hiç bir fikrim yok?

Bu yüzden Örnek dosya eklemelisiniz.

Yinede elimden geldiğince anladığım kadarıyla anlatmaya çalışıcam.

Set newbook = ActiveWorkbook ' Kodun çalışabilmesi için newbook'a bir anlam yüklemem gerekti.
Newbook.Sheets(1).Range(''B1:B40000").Replace What:="X", _
Replacement:="Y", MatchCase:=True

Newbook.Sheets(1).Range(''B1:B40000").Replace What:="x", _
Replacement:="y", MatchCase:=True

Kodunuzu bu şekilde değiştirirseniz küçük büyük harfe duyarlı olacaktır.
Böylelikle kelimenin başında olanları büyük, kelimenin içinde olanları küçük bırakabilirsiniz.

Başka bir çözüm için teker teker arama yapıp düzeltmek gerekir ve verinin çokluğu ile orantılı olarak çok yavaşlatır.
 
Katılım
21 Haziran 2007
Mesajlar
97
Excel Vers. ve Dili
Rusca 2003
Abi Virgül yanlışlıqla düşmüş.Newbook ise Ado ile SQL den rapor aldıqda her yeni raporu yeni sayfada vermekden ötrüdür.Onda problem yok.

Ornek bir makro yazdım.

Sub OrnekDosya_01()
Range("A1").Value = "AZERBAYCAN"
Range("A2").Value = "TURKIYE"
Range("A3").Value = "CIN"
Range("A4").Value = "OZBEKSTAN"
Range("A5").Value = "IRAK"
Range("A6").Value = "INGILTERE"
Range("A7").Value = "CECENSTAN"
With Range("A1:A10")
.Replace What:="E", Replacement:=ChrW(399)
.Replace What:="U", Replacement:=ChrW(220)
.Replace What:="O", Replacement:=ChrW(214)
.Replace What:="C", Replacement:=ChrW(199)
End With
End Sub


Burda problem cok.İlk önce İlk harfdan sonrakı bütün harflarin küçük olması lazim.Sonra CİN de işlenen C unicodla deyisdikde AZERBAYCAN DA OLAN C harfını da deyişiyor CECENSTANDA OLAN E de ChrW(399) -la deyişiyor.Bunun çaresi varmi?
 
Katılım
21 Haziran 2007
Mesajlar
97
Excel Vers. ve Dili
Rusca 2003
Abi teşekkür edierim...Zahmet etdiniz....

Böyle bir kod işe yaradı

For Each kuby In Range("A1:A" & [A65536].End(3).Row)
kuby.Value = StrConv(kuby.Value, vbProperCase)
Next kuby

Gerekirse kullana bilirsiniz
 
Son düzenleme:
Üst