Makro'da alfanumerik karakter özelliklerinin kullanımı

Katılım
25 Ağustos 2004
Mesajlar
99
Saygıdeğer Forum Üyeleri,

Öncelikle Uzun süreden sonra tekrar foruma girip gezinmek,
uzun bir zaman sonra yaşadığı yere dönen birinin yaşadığı keyfi hissettirdi.

Aslında sormak istediğim konunun çok zor olmadığını düşünüyorum, ama o kadar uzun zamandır VBA'den uzak kalmışım ki değil sorunu çözmek,çözüm için arama yapacak doğru kelime/parametreleri bulmayı bile uzun zaman harcamama rağmenbeceremedim.

Ek'li dosya ile sorumu görselleştirmeye çalıştım, temelde sorunum; makroda bir hücre içeriğindeki yazının "tamamen büyük harfle ve kalın", "Baş harfi büyük ve kalın", "Baş harfi büyük ve normal (kalın değil)"
olduğunu nasıl tespit edebilirim.

Şimdiden vakit ayıran herkese teşekkürlerimi sunuyorum,


Saygılarımla.
 

Ekli dosyalar

Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Merhaba

Öncelikle aramıza tekrar hoşgeldiniz.

Bir hücrede istediğiniz kontrolleri aşağıdaki gibi kontrolü aşağıdaki gibi yapabilirsiniz. Kontrolleri A1 hücresi için yaptığımızı kabul edersek,

"tamamen büyük harfle ve kalın"

Kod:
if [a1].font.bold=true and [a1]=ucase([a1]) then ......
"Baş harfi büyük ve kalın"

Kod:
if [a1].font.bold=true and [a1]=strconv([a1],vbpropercase) then ......
"Baş harfi büyük ve normal (kalın değil)"

Kod:
if [a1].font.bold=false and [a1]=strconv([a1],vbpropercase) then ......
 
Katılım
25 Ağustos 2004
Mesajlar
99
Levent Bey,

Pekçok kişi için oldukça geç bir saatte (hatta bazılarının uyuduğu) zaman ayırarak cevap verdiğiniz ve eski günlerdeki performasınızdan hiçbirşey kaybetmediğinizi gösterdiğiniz için gerçekten de çok teşekkür eder, tebriklerimi sunarım.

Saygılarımla.
 
Katılım
25 Ağustos 2004
Mesajlar
99
Sayın Forum Üyeleri ve Levent Bey,

Levent Bey'in cevabında verdiği kodlar çalışıyor, ancak yaptığı kıyaslama sonucu eşleştirmeyi gerçekleştirmiyor. Acaba sorun "Cells.Value" değişkenin kullanılmasından mı kaynaklanıyor, yani "Value" yerine başka bir parametre mi kullanılmalı, kodların da EK'li olduğu dosyanın sorunun daha kolay anlaşımasını sağlayacağını düşünüyor, yardımlarınızı rica ediyorum.

Saygılarımla,
 

Ekli dosyalar

Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızdaki kodu aşağıdaki ile değiştirerek denermisiniz.

Kod:
Sub satirsayisi()
sonsat = Sheet4.Cells(65536, "B").End(xlUp).Row 'sonunucu satırı bulma
satir = 6
tablo = "IS"
tur = "IFRS"
tarih = "01/01/2009"
For d = 6 To sonsat
'deger = Sheet4.Cells(satir, 2)
If Sheet4.Cells(satir, 2).Font.Bold = True And Sheet4.Cells(satir, 2).Value = UCase(Sheet4.Cells(satir, 2)) Then
Sheet3.Cells(satir, 5).Value = Sheet4.Cells(satir, 2).Value
Sheet3.Cells(satir, 8).Value = Sheet4.Cells(satir, 3).Value
Sheet3.Cells(satir, 1).Value = tablo 'IS BS
Sheet3.Cells(satir, 2).Value = tur ' IFRS VUK
Sheet3.Cells(satir, 3).Value = tarih
ElseIf Sheet4.Cells(satir, 2).Font.Bold = True And Sheet4.Cells(satir, 2).Value = StrConv(Sheet4.Cells(satir, 2), vbProperCase) Then
Sheet3.Cells(satir, 6).Value = Sheet4.Cells(satir, 2).Value
Sheet3.Cells(satir, 8).Value = Sheet4.Cells(satir, 3).Value
Sheet3.Cells(satir, 1).Value = tablo 'IS BS
Sheet3.Cells(satir, 2).Value = tur ' IFRS VUK
Sheet3.Cells(satir, 3).Value = tarih
ElseIf Sheet4.Cells(satir, 2).Font.Bold = False And Sheet4.Cells(satir, 2).Value = StrConv(Sheet4.Cells(satir, 2), vbProperCase) Then
Sheet3.Cells(satir, 7).Value = Sheet4.Cells(satir, 2).Value
Sheet3.Cells(satir, 8).Value = Sheet4.Cells(satir, 3).Value
Sheet3.Cells(satir, 1).Value = tablo 'IS BS
Sheet3.Cells(satir, 2).Value = tur ' IFRS VUK
Sheet3.Cells(satir, 3).Value = tarih
End If
satir = satir + 1
Next d
End Sub
 
Katılım
25 Ağustos 2004
Mesajlar
99
Yardımlarınız için tekrar teşekkürlerimi sunuyorum Levent Bey.

Saygılarımla,
 
Üst