Koşullu Biçimlendirme kodunun İngilizce formüllerle yapılması

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba Arkadaşlar,
Aşağıda Korhan Ayhan üstada ait VBA Kodu var. Bu koddaki Türkçe formülleri İngilizce yazmanın bir yolu var mıdır ?

Sub Bicimlendir()
With Range("C7:C999")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=EĞER(VE($C7<>"""";EĞERSAY(O:O;$M7)=0);1;0)"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(.FormatConditions.Count).Interior.Color = 5296274
.FormatConditions(.FormatConditions.Count).StopIfTrue = True
End With
End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Şuradaki konudan faydalanabilirsiniz. Bir de formüllerdeki noktalı virgül(; ) yerine virgül(,) yazmanız gerekebilir.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba,
Şuradaki konudan faydalanabilirsiniz. Bir de formüllerdeki noktalı virgül(; ) yerine virgül(,) yazmanız gerekebilir.
ÖmerBey ilginize teşekkür ederim. Ama ihtiyacım formülleri çevirmek değil, ingilizce formüllerle uygulamak. Şöyle ki, formülleri ingilizceye çevirip uyguladım, kod hata vermedi ama Koşullu Biçimlendirme olmadı
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Türkçe versiyonda İngilizce formül kullanmak istiyorsanız bildiğim kadarıyla bu mümkün değil. Nasıl ki hücreye İngilizce formül yazdığınızda çalışmıyorsa.
Ancak biraz dolambaçlı şekilde aşağıdaki şekilde bir dönüşüm uygulanabilir belki...
Son hücre İngilizce formülü yerel dile çevirmek için kullanılıyor.
Rich (BB code):
Sub Bicimlendir()
frml = "=IF(AND($C7<>"""",COUNTIF(O:O,$M7)=0),1,0)"
With Cells(Rows.Count, Columns.Count)
    .Formula = frml
    yrlfrml = .FormulaLocal
    .Clear
End With
With Range("C7:C999")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=yrlfrml
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(.FormatConditions.Count).Interior.Color = 5296274
.FormatConditions(.FormatConditions.Count).StopIfTrue = True
End With
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Türkçe versiyonda İngilizce formül kullanmak istiyorsanız bildiğim kadarıyla bu mümkün değil. Nasıl ki hücreye İngilizce formül yazdığınızda çalışmıyorsa.
Ancak biraz dolambaçlı şekilde aşağıdaki şekilde bir dönüşüm uygulanabilir belki...
Son hücre İngilizce formülü yerel dile çevirmek için kullanılıyor.
Rich (BB code):
Sub Bicimlendir()
frml = "=IF(AND($C7<>"""",COUNTIF(O:O,$M7)=0),1,0)"
With Cells(Rows.Count, Columns.Count)
    .Formula = frml
    yrlfrml = .FormulaLocal
    .Clear
End With
With Range("C7:C999")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=yrlfrml
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(.FormatConditions.Count).Interior.Color = 5296274
.FormatConditions(.FormatConditions.Count).StopIfTrue = True
End With
End Sub
ÖmerBey üstadım çok çok teşekkür ederim. ilk fırsatta deneyeceğim. Sağlıcakla kalın
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Bu işlemi ne amaçla istiyorsunuz?
İlgine teşekkürler üstad. Kodu yazdım, Ofis paketi İngilizce olan bir arkadaşımda çalışmadı. Kodun Koşullu Biçimlendirmede Türkçe yazan aşamasında takılıyor. Tam sebebi o mu bilmiyorum ama daha önce de Türkçe karakterlerden ötürü sorun olduğu için aklıma geldi.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ofisin dili kontrol edilerek bir şeyler yapılabilir.

Deneyiniz.

C++:
Option Explicit

Sub Bicimlendir()
    Dim Formul As String
   
    Select Case Application.LanguageSettings.LanguageID(msoLanguageIDUI)
        Case 1033
            If Application.DecimalSeparator = "," Then
                Formul = "=IF(AND($C7<>"""";COUNTIF(O:O;$M7)=0);1;0)"
            Else
                Formul = "=IF(AND($C7<>"""",COUNTIF(O:O,$M7)=0),1,0)"
            End If
        Case 1055
            Formul = "=EĞER(VE($C7<>"""";EĞERSAY(O:O;$M7)=0);1;0)"
        Case Else
            MsgBox "Dil tespit edilemedi!", vbCritical
            Exit Sub
    End Select
   
    With Range("C7:C999")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=Formul
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        .FormatConditions(.FormatConditions.Count).Interior.Color = 5296274
        .FormatConditions(.FormatConditions.Count).StopIfTrue = True
    End With
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Ofisin dili kontrol edilerek bir şeyler yapılabilir.

Deneyiniz.

C++:
Option Explicit

Sub Bicimlendir()
    Dim Formul As String
   
    Select Case Application.LanguageSettings.LanguageID(msoLanguageIDUI)
        Case 1033
            If Application.DecimalSeparator = "," Then
                Formul = "=IF(AND($C7<>"""";COUNTIF(O:O;$M7)=0);1;0)"
            Else
                Formul = "=IF(AND($C7<>"""",COUNTIF(O:O;$M7)=0),1,0)"
            End If
        Case 1055
            Formul = "=EĞER(VE($C7<>"""";EĞERSAY(O:O;$M7)=0);1;0)"
        Case Else
            MsgBox "Dil tespit edilemedi!", vbCritical
            Exit Sub
    End Select
   
    With Range("C7:C999")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=Formul
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        .FormatConditions(.FormatConditions.Count).Interior.Color = 5296274
        .FormatConditions(.FormatConditions.Count).StopIfTrue = True
    End With
End Sub
Çok teşekkür ederim üstad. Harika oldu
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Ofisin dili kontrol edilerek bir şeyler yapılabilir.

Deneyiniz.

C++:
Option Explicit

Sub Bicimlendir()
    Dim Formul As String
   
    Select Case Application.LanguageSettings.LanguageID(msoLanguageIDUI)
        Case 1033
            If Application.DecimalSeparator = "," Then
                Formul = "=IF(AND($C7<>"""";COUNTIF(O:O;$M7)=0);1;0)"
            Else
                Formul = "=IF(AND($C7<>"""",COUNTIF(O:O;$M7)=0),1,0)"
            End If
        Case 1055
            Formul = "=EĞER(VE($C7<>"""";EĞERSAY(O:O;$M7)=0);1;0)"
        Case Else
            MsgBox "Dil tespit edilemedi!", vbCritical
            Exit Sub
    End Select
   
    With Range("C7:C999")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, Formula1:=Formul
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        .FormatConditions(.FormatConditions.Count).Interior.Color = 5296274
        .FormatConditions(.FormatConditions.Count).StopIfTrue = True
    End With
End Sub
Korhan Ayhan Üstadım acaba şöyle bir şey mümkün mü ?
A1:C11 aralığında çift satır numaralarını (2-4-6-8-10) "Interior.ColorIndex = 3" yapılabilir mi ?
Biçim kopyalama yöntemiyle yapılabiliyor ama farklı bir kod olur mu !
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
O zaman istediğiniz işlemin bu başlıkla bir bağlantısı kalmadığı için yeni bir başlık açmanız daha uygun olacaktır.
 
Üst