Kod'da Büyük Harf

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Aşağıdaki kod, GENEL sayfası "C" ve "F" sütunlarındaki isimlerin tamamı büyük ise veri getiremiyor,

Ancak, İlk Harfleri büyük yaptığımda sonuç alıyorum,

İsteğim, anılan sütunlardaki isimler Türkçe ve büyük harf olduğundan, kodun bu özelliklere göre işlem yapmasıdır,

Kod'da nasıl bir düzenleme yapılması gerekir ( kodlar alıntıdır ) ?

Teşekkür ederim.

Kod:
Option Explicit
Sub Veri_Al()
Dim ts, kaplan, trabzonspor
trabzonspor = MsgBox(Sheets("Süz").Range("J1") & " Takımının" _
& " Maçlarını Buraya Aktarıyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
Sheets("Süz").Range("F18:M55").ClearContents
kaplan = 18
For ts = 2 To Sheets("GENEL").Cells(65536, "B").End(xlUp).Row
If Sheets("GENEL").Cells(ts, "C") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) _
Or Sheets("GENEL").Cells(ts, "F") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then
Sheets("Süz").Cells(kaplan, "G") = Sheets("GENEL").Cells(ts, "B")
Sheets("Süz").Cells(kaplan, "H") = Sheets("GENEL").Cells(ts, "C")
Sheets("Süz").Cells(kaplan, "I") = Sheets("GENEL").Cells(ts, "D")
Sheets("Süz").Cells(kaplan, "J") = Sheets("GENEL").Cells(ts, "F")
Sheets("Süz").Cells(kaplan, "K") = Sheets("GENEL").Cells(ts, "E")
If Sheets("Süz").Cells(kaplan, "I") = "" And Sheets("Süz").Cells(kaplan, "K") = "" Then
Sheets("Süz").Cells(kaplan, "L") = ""
ElseIf Sheets("Süz").Cells(kaplan, "I") = Sheets("Süz").Cells(kaplan, "K") Then
Sheets("Süz").Cells(kaplan, "L") = "B"
ElseIf Sheets("Süz").Cells(kaplan, "H") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then
If Sheets("Süz").Cells(kaplan, "I") > Sheets("Süz").Cells(kaplan, "K") Then
Sheets("Süz").Cells(kaplan, "L") = "G"
Else
Sheets("Süz").Cells(kaplan, "L") = "M"
End If
ElseIf Sheets("Süz").Cells(kaplan, "J") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then
If Sheets("Süz").Cells(kaplan, "K") > Sheets("Süz").Cells(kaplan, "I") Then
Sheets("Süz").Cells(kaplan, "L") = "G"
Else
Sheets("Süz").Cells(kaplan, "L") = "M"
End If
End If
If Sheets("Süz").Cells(kaplan, "L") = "G" Then
Sheets("Süz").Cells(kaplan, "M") = 3
ElseIf Sheets("Süz").Cells(kaplan, "L") = "B" Then
Sheets("Süz").Cells(kaplan, "M") = 1
ElseIf Sheets("Süz").Cells(kaplan, "L") = "M" Then
Sheets("Süz").Cells(kaplan, "M") = 0
End If
kaplan = kaplan + 1
Sheets("Süz").Range("F18") = 1
Sheets("Süz").Cells(kaplan, "F") = WorksheetFunction.Max(Range("F18:F" & kaplan - 1)) + 1
End If
Next
Application.ScreenUpdating = True
MsgBox Sheets("Süz").Range("J1") & " Takımının Maçlarını Buraya Aktardım", _
vbInformation, "Bitiş"
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Şöyle bir yol göstersem yapabileceğinizi düşünüyorum.
C++:
Hücre = UCase(Replace(Replace(Hücre, "i", "İ"), "ı", "I"))
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ÖmerFaruk merhaba,

İlginiz ve öneriniz için teşekkür ederim, bu kodlar 2011 yılında bir üyemiz tarafından yazıldı, kodlara benim bir katkım olmadı,

Öneriniz doğrultusunda kendimce yaptığım denemeler sonuçsuz kaldı,

Zamanınız var ise çözümü sizden rica ediyorum,

Deneme için örnek bir dosya ekledim,

Teşekkür ederim.
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Sheets("GENEL").Cells(ts, "C") = WorksheetFunction.Proper(Sheets("Süz").Range("J1"))
Hücre = UCase(Replace(Replace(Hücre, "i", "İ"), "ı", "I"))
Üstteki satırı alttakindeki mantıkla yeniden yazacaksınız.

Sheets("GENEL").Cells(ts, "C") =UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I"))

Diğer ya da ihtiyaç duyduğunuz satırlarda da benzer işlemi yapmalısınız.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ÖmerFaruk tekrar merhaba,

Önerileriniz ve örnek kodla ilgili kendimce gerekenleri yaptım, ancak sanırım eksik bir şeyler yapıyorum,

Olabiliyor ise çözüm kodunu dosyaya uygular mısınız ?

Böylece eksiğimi ve/veya hatamı gözlemleye bilirim,

Tekrar teşekkür ederim.

Kod:
Option Explicit
Sub Veri_Al()
Dim ts, kaplan, trabzonspor
trabzonspor = MsgBox(Sheets("Süz").Range("J1") & " Takımının" _
& " Maçlarını Buraya Aktarıyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
Sheets("Süz").Range("F18:M55").ClearContents
kaplan = 18
For ts = 2 To Sheets("GENEL").Cells(65536, "B").End(xlUp).Row

'If Sheets("GENEL").Cells(ts, "C") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) _
'Or Sheets("GENEL").Cells(ts, "F") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then

  Sheets("GENEL").Cells(ts, "C") = UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I"))
  Sheets("GENEL").Cells(ts, "F") = UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I"))

Sheets("Süz").Cells(kaplan, "G") = Sheets("GENEL").Cells(ts, "B") 'tarih
Sheets("Süz").Cells(kaplan, "H") = Sheets("GENEL").Cells(ts, "C") '1.takım
Sheets("Süz").Cells(kaplan, "I") = Sheets("GENEL").Cells(ts, "D") '1'skor
Sheets("Süz").Cells(kaplan, "J") = Sheets("GENEL").Cells(ts, "F") '2.takım
Sheets("Süz").Cells(kaplan, "K") = Sheets("GENEL").Cells(ts, "E") '2.skor
If Sheets("Süz").Cells(kaplan, "I") = "" And Sheets("Süz").Cells(kaplan, "K") = "" Then
Sheets("Süz").Cells(kaplan, "L") = ""
ElseIf Sheets("Süz").Cells(kaplan, "I") = Sheets("Süz").Cells(kaplan, "K") Then
Sheets("Süz").Cells(kaplan, "L") = "B"

'ElseIf Sheets("Süz").Cells(kaplan, "H") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then
ElseIf Sheets("Süz").Cells(kaplan, "H") = UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I")) Then

If Sheets("Süz").Cells(kaplan, "I") > Sheets("Süz").Cells(kaplan, "K") Then
Sheets("Süz").Cells(kaplan, "L") = "G"
Else
Sheets("Süz").Cells(kaplan, "L") = "M"
End If

'ElseIf Sheets("Süz").Cells(kaplan, "J") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then
ElseIf Sheets("Süz").Cells(kaplan, "J") = UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I")) Then

If Sheets("Süz").Cells(kaplan, "K") > Sheets("Süz").Cells(kaplan, "I") Then
Sheets("Süz").Cells(kaplan, "L") = "G"
Else
Sheets("Süz").Cells(kaplan, "L") = "M"
End If
End If
If Sheets("Süz").Cells(kaplan, "L") = "G" Then
Sheets("Süz").Cells(kaplan, "M") = 3
ElseIf Sheets("Süz").Cells(kaplan, "L") = "B" Then
Sheets("Süz").Cells(kaplan, "M") = 1
ElseIf Sheets("Süz").Cells(kaplan, "L") = "M" Then
Sheets("Süz").Cells(kaplan, "M") = 0
End If
kaplan = kaplan + 1
Sheets("Süz").Range("F18") = 1
Sheets("Süz").Cells(kaplan, "F") = WorksheetFunction.Max(Range("F18:F" & kaplan - 1)) + 1
'End If
Next
Application.ScreenUpdating = True
MsgBox Sheets("Süz").Range("J1") & " Takımının Maçlarını Aktardım", _
vbInformation, "Bitiş"
End Sub
 
Katılım
20 Şubat 2007
Mesajlar
659
Excel Vers. ve Dili
2007 Excel, Word Tr
Merhaba,
Alternatif olarak
"WorksheetFunction.Proper" kullanılan her eşitliğin sol tarafında da "WorksheetFunction.Proper" kullanabilirsiniz. Mesela:
If Sheets("GENEL").Cells(ts, "C") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) yerine:
If WorksheetFunction.Proper(Sheets("GENEL").Cells(ts, "C")) = WorksheetFunction.Proper(Sheets("Süz").Range("J1"))
şeklinde.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bence bunu siz kendiniz yapacaksınız. Sırf yılmayın, hatanızı görün diye. İnanın forumdaki bazı kullanıcıların potansiyelleri fark edememelerindeki tek sebep cesaretsizlik, denemekten kaçınmak ya da korkaklık.

Ben inanın sabahtan akşama kadar Scripting.Dictionary çalıştığım günleri hatırlıyorum. Halen de yapamadığım bir sürü işlem oluyor ve saatlerce takılıp kalıyorum. Ama asla yılmıyorum.

Kodlarınızı başına baktım ve gördüğüm ilk aksaklık;
ilk iki satırda IF-THEN sorgusu varken siz revize ettğiniz sayfada IF sorgusunu da komple kaldırmışsınız.

'If Sheets("GENEL").Cells(ts, "C") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) _
'Or Sheets("GENEL").Cells(ts, "F") = WorksheetFunction.Proper(Sheets("Süz").Range("J1")) Then

Sheets("GENEL").Cells(ts, "C") = UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I"))
Sheets("GENEL").Cells(ts, "F") = UCase(Replace(Replace(Sheets("Süz").Range("J1"), "i", "İ"), "ı", "I"))
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ÖmerFaruk merhaba,

Cesaretlendirici ve güzel sözleriniz ve de ilginiz için çok teşekkür ederim,

Çeşitli konularda çözüm ararken (çoğu zaman dosya örnek dosya eklerim) hemen her seferinde, başta sitemiz olmak üzere nette vb. araştırma yapıyorum, benzer çözümler var ise dosyama adapte etmeye çalışıyorum, defalarca farklı denemeler yapıyorum,

Sonuç alamazsam da öncelikle sitemize baş vuruyorum, bu çözüm arayışım da böyle oluştu,

Dosyama gelince,

Önerdiğiniz kodu, IF-THEN sorgularını kaldırmadan da denedim, satır komple kırmızı oluyor ve o satırdaki ( _ ) alt tire için "Geçersiz Karakter" uyarısı ve Syntax Error hatası almaktayım,

Ek'li dosya'da görülebilir,

Teşekkür ederim.
 

Ekli dosyalar

Son düzenleme:

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Herhangi bir kod satırını birden fazla satırda yazmak istiyorsanız

ikinci satıra geçeceğiniz yerde evet _ (alt çizgi) koyuyoruz.
Ancak alt çizgiden hemen önce muhakkak bir boşluk olması gerekiyor

C++:
If a=b Or c=d Then

'tireden önce boşluk olmazsa'
If a=b_
Or c=d Then

'bunun anlamı te satırda aşağıdaki gibi olur
If a=bOr c=d Then'
    
'Doğrusu
If a=b _
Or c=d Then
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın ÖmerFaruk tekrar merhaba,

Yardımlarınız, sabrınız ve öğreticiliğiniz için çok teşekkür ederim,

Yardımlarınız sayesinde sorun çözülmüştür,

Sevgi ve saygılarımla.
 
Üst