Koşullu Biçimlendirme Sınırlarını Koruma/Sabitleme Sorunu

BerkinAkdeniz

Altın Üye
Katılım
31 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
Office 2012 TR
Arkadaşlar merhaba,

İş takip programı için kullandığım bir excel var.

Yalnız araya satır ekleyince (kopyala - kopyalanan satırları ekle) koşullu biçimlendirmenin sınırları bozuluyor ve her seferinde girip düzeltmem gerekiyor.

Düzgün ve bozuk hallerini aşağıdaki linklere ekledim.

Bu sorunu nasıl çözebilirim?

Şimdiden çok teşekkür ederim.

 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
1,177
Excel Vers. ve Dili
Ofis 365 Türkçe
Verdiğiniz düzgün dosyada araya satır eklediğiniz yer 145 ve 146. satırlar mıdır?
 

BerkinAkdeniz

Altın Üye
Katılım
31 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
Office 2012 TR
Verdiğiniz düzgün dosyada araya satır eklediğiniz yer 145 ve 146. satırlar mıdır?
çok özür dilerim "düzgün" olan dosyayı yanlış yüklemişim.
doğrusu aşağıda:


17-18 satırlarını kopyalayıp hemen üzerine kopyalanan satırları ekliyorum, eklenmiş hali de "bozuk" olan dosya.

desteğiniz için teşekkür ederim efendim.
 

BerkinAkdeniz

Altın Üye
Katılım
31 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
Office 2012 TR
Selamlar, yok mu arkadaşlar yardımcı olabilecek kimse?
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
1,177
Excel Vers. ve Dili
Ofis 365 Türkçe
Siz en güzeli şöyle yapın.
İlgili sayfalarınızda gerekli satır eklemelerinizi yapın.
Yaptıktan sonra her sayfa için aşağıdaki kodu çalıştırın.

Not 1: Sizin yaptığınız koşullu biçim kural ve formatını aynen kullandım.
Not 2: Aralık olarak J13-J&Son Satır aralığını kullandım.
Not 3: Son satırı belirlemek için kriter olarak I sütunundaki %100 yazan en alttaki satırı baz aldım.


C++:
Sub ÖzelKoşulluBiçim()
    Son = Range("I" & Rows.Count).End(3).Row - 3
    Set FormatAlan = Range("J13:DJ" & Son)
    FormatAlan.FormatConditions.Delete

    FormatAlan.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=1"
    FormatAlan.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With FormatAlan.FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    With FormatAlan.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    FormatAlan.FormatConditions(1).StopIfTrue = False
  
    FormatAlan.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=2"
    FormatAlan.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With FormatAlan.FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = -0.249946592608417
    End With
    With FormatAlan.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = -0.249946592608417
    End With
    FormatAlan.FormatConditions(1).StopIfTrue = False
End Sub
 

BerkinAkdeniz

Altın Üye
Katılım
31 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
Office 2012 TR
Siz en güzeli şöyle yapın.
İlgili sayfalarınızda gerekli satır eklemelerinizi yapın.
Yaptıktan sonra her sayfa için aşağıdaki kodu çalıştırın.

Not 1: Sizin yaptığınız koşullu biçim kural ve formatını aynen kullandım.
Not 2: Aralık olarak J13-J&Son Satır aralığını kullandım.
Not 3: Son satırı belirlemek için kriter olarak I sütunundaki %100 yazan en alttaki satırı baz aldım.


C++:
Sub ÖzelKoşulluBiçim()
    Son = Range("I" & Rows.Count).End(3).Row - 3
    Set FormatAlan = Range("J13:DJ" & Son)
    FormatAlan.FormatConditions.Delete

    FormatAlan.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=1"
    FormatAlan.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With FormatAlan.FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    With FormatAlan.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    FormatAlan.FormatConditions(1).StopIfTrue = False
 
    FormatAlan.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=2"
    FormatAlan.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With FormatAlan.FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = -0.249946592608417
    End With
    With FormatAlan.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = -0.249946592608417
    End With
    FormatAlan.FormatConditions(1).StopIfTrue = False
End Sub
emeğiniz için çok çok teşekkür ediyorum ama bu programı nasıl cve ne şekilde ekleyeceğimi bilmiyorum.
developer kısmından visual basic sayfasını açtım ama orda bu kodu nasıl ekleyeceğimi bulamadım.
lütfen kusuruma bakmayın.
 

BerkinAkdeniz

Altın Üye
Katılım
31 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
Office 2012 TR
Siz en güzeli şöyle yapın.
İlgili sayfalarınızda gerekli satır eklemelerinizi yapın.
Yaptıktan sonra her sayfa için aşağıdaki kodu çalıştırın.

Not 1: Sizin yaptığınız koşullu biçim kural ve formatını aynen kullandım.
Not 2: Aralık olarak J13-J&Son Satır aralığını kullandım.
Not 3: Son satırı belirlemek için kriter olarak I sütunundaki %100 yazan en alttaki satırı baz aldım.


C++:
Sub ÖzelKoşulluBiçim()
    Son = Range("I" & Rows.Count).End(3).Row - 3
    Set FormatAlan = Range("J13:DJ" & Son)
    FormatAlan.FormatConditions.Delete

    FormatAlan.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=1"
    FormatAlan.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With FormatAlan.FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    With FormatAlan.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    FormatAlan.FormatConditions(1).StopIfTrue = False
 
    FormatAlan.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=2"
    FormatAlan.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With FormatAlan.FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = -0.249946592608417
    End With
    With FormatAlan.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = -0.249946592608417
    End With
    FormatAlan.FormatConditions(1).StopIfTrue = False
End Sub
excel paylaşımlı imiş. Paylaşımı kapattım. Visual Basic'te modül olarak ekledim bunu, sonrasında araya satır ekleyip bu macro'yu çalıştırdım.
Kısmi olarak işe yaradı. toplamda 5 şartım var. Eskiden 5 ini de bozup şartları tekrarlatıyordu, su an şartlardan biri bozulmadı 4'ü eskisi gibi kendini çoğaltıp sınır şartlarını değişitirdi efendim.
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
1,177
Excel Vers. ve Dili
Ofis 365 Türkçe
Bana gönderdiğin dosyada 3 şart vardı diye hatırlıyorum.
Şu an müsait değilim. Müsait olduğumda dosyanız tekrar bakacağım.
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
1,177
Excel Vers. ve Dili
Ofis 365 Türkçe
Gönderdiğiniz BOZUK dosyada 3 tane şart var.

226912
 
Üst