Excel'de VBA kullandığınızda koşullu biçimlendirme yanlış ayarlanmış olabilir

Belirtiler

Aşağıdaki senaryoyu inceleyin.

  • Microsoft Excel 2000'de veya Excel'in sonraki bir sürümünde çalışma sayfasında bir hücre seçersiniz.
  • Formül tabanlı bir koşullu biçimlendirme programı oluşturmak için Microsoft Visual Basic for Applications (VBA) kullanırsınız.
  • VBA koşullu biçimlendirme programında göreli hücre başvuruları kullanırsınız.
  • Koşullu biçimlendirmeyi seçili hücre dışındaki bir hücreye uygularsınız.

Koşullu biçimlendirmeyi uyguladığınızda, koşullu biçimlendirmenin doğru ayarlanmadığını fark edeceksiniz.

Örneğin, excel çalışma sayfasında aşağıdaki koda benzer VBA kodu içeren bir program kullandığınızda bu sorunla karşılaşırsınız:

Sub Example()
ThisWorkbook.Worksheets(1).Range("A1").Select
With ThisWorkbook.Worksheets(1).Range("B1")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=A1=1"
.FormatConditions(1).Interior.ColorIndex = 46
End With
End Sub

Bu kod, A1 hücresine "1" girdiğinizde B1 hücresine koşullu biçimlendirmeyi otomatik olarak uygular. A1 hücresine "1" girdiğinizde, B1 hücresinin renginin kırmızıya dönüşmesini beklersiniz. Ancak, hücrenin rengi değişmez. B1 hücresinin rengi yalnızca B1 hücresine "1" girerseniz kırmızıya dönüşür.

Ayrıca , Koşullu Biçimlendirme iletişim kutusu formülü =A1=1 yerine =B1=1 olarak görüntüler.

Geçici Çözüm

Geçici bir çözüm olarak aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Mutlak hücre başvurularını kullanma

Göreli hücre başvurularına başvurmak yerine formülü içeren hücreye başvurmak için mutlak hücre başvurularını kullanabilirsiniz.

Örneğin, kodun mutlak hücre başvurularını kullanmasını sağlamak için,"Belirtiler" bölümünde Formül1:="=$A$1=1" olarak açıklanan VBA kodundaki Formula1:="=A1=1" metin girişini değiştirebilirsiniz. VBA kodunun bu değiştirilmiş sürümü aşağıdaki gibidir:

Sub Example()

ThisWorkbook.Worksheets(1).Range("A1").Select

With ThisWorkbook.Worksheets(1).Range("B1")
     .FormatConditions.Delete
     .FormatConditions.Add Type:=xlExpression, Formula1:="=$A$1=1"
     .FormatConditions(1).Interior.ColorIndex = 46
End With

End Sub

Yöntem 2: Formülü uygulamadan önce koşullu biçimlendirme için kullanmak istediğiniz hücreyi seçin

Bir hücreye koşullu biçimlendirme uygulamak istediğinizde, önce koşullu biçimlendirme için kullanmak istediğiniz hücreyi seçin. Ardından formül için kullanmak istediğiniz hücreyi seçin. Bu hücreyi seçtikten sonra, formülü gereksinimlerinize uyacak şekilde değiştirin.

Bunu yapmak için, çalıştırdığınız Excel sürümüne uygun olarak bu adımları izleyin.

Microsoft Office Excel 2007

  1. Excel'i başlatın ve yeni bir Excel çalışma sayfası açın.
  2. Excel çalışma sayfasında B1 hücresini seçin.
  3. Giriş sekmesine tıklayın.
  4. Stiller grubunda Koşullu Biçimlendirme'ye ve ardından Yeni Kural'a tıklayın.
  5. Kural Türü Seçin altında hangi hücrelerin biçimlendirileceğini belirlemek için Formül kullan'a tıklayın.
  6. Bu formülün doğru olduğu Değerleri biçimlendir kutusunun içine tıklayın. Ardından, koşullu biçimlendirme için kullanmak istediğiniz hücreyi seçin.
  7. 6. adımdaki değeri =$A$1=1 olarak değiştirin.
  8. Biçim'e tıklayın.
  9. Hücreleri Biçimlendir iletişim kutusunda Doldur sekmesine tıklayın.
  10. "Kırmızı" rengine ve ardından Tamam'a tıklayın.
  11. Yeni Biçimlendirme Kuralı iletişim kutusunda Tamam'a tıklayın.
  12. A1 hücresine 1 yazın ve ENTER tuşuna basın.
  13. B1 hücresinin renginin kırmızıya değiştiğini doğrulayın.
  14. Excel çalışma sayfasını kapatın.

Microsoft Office Excel 2003 ve Excel'in önceki sürümleri

  1. Excel'i başlatın ve yeni bir Excel çalışma sayfası açın.
  2. Excel çalışma sayfasında B1 hücresini seçin.
  3. Biçim menüsünde Koşullu Biçimlendirme'ye tıklayın.
  4. Koşul 1'in altında, listede Formül Var'a tıklayın.
  5. Veri giriş kutusunun içine tıklayın. Ardından, koşullu biçimlendirme için kullanmak istediğiniz hücreyi seçin.
  6. Veri giriş kutusundaki değeri =$A$1=1 olacak şekilde değiştirin ve tamam'a tıklayın.
  7. Biçim'e tıklayın.
  8. Hücreleri Biçimlendir iletişim kutusunda Desenler sekmesine tıklayın.
  9. "Kırmızı" rengini seçin ve ardından Tamam'a tıklayın.
  10. Koşullu Biçimlendirme iletişim kutusunda Tamam'a tıklayın.
  11. A1 hücresine 1 yazın ve ENTER tuşuna basın.
  12. B1 hücresinin renginin kırmızıya değiştiğini doğrulayın.
  13. Excel çalışma sayfasını kapatın.