Formül içeriyorsa bir hücreyi koşullu olarak biçimlendirin


18

Hücre formül içeriyorsa (hücreyi güncellerken kendimi ve diğer kullanıcıları uyarmak için) bir hücreyi koşullu olarak biçimlendirmek mümkün müdür?


Sadece hangi hücrelerin formül içerdiğini hızlı bir şekilde görmek istiyorsanız, formülleri görüntülemek için Ctrl-`(bu İngilizce klavyelerde ~ ile aynı tuşa geri dönebilir) yazabilirsiniz. Geçiş yapmak için tuşa tekrar basın.
yoyo

Yanıtlar:


9

Bunu yapmak için XLM ve Aralık Adlarını kullanarak koşullu biçimlendirmeyi kullanabilirsiniz

E-tabloları hücre içeriğine göre otomatik olarak biçimlendirmek için Aralık Adları ve Koşullu Biçimlendirme ile XLM Kullanma hakkında daha uzun bir makalem var

  1. Aralık Adı Tanımlama IsFormula = GET.CELL (48, INDIRECT ("rc", FALSE))
  2. Formül için test edilen koşullu biçimlendirme hücreleri uygulayın, yani = bir renk dolgulu IsFormula

Üzgünüm, cevabınızı şimdiye kadar test etmedim. Bu hile basit ve güzel. Kabul edilmiş! Teşekkürler. (Bu arada, bağlantı koptu.)
wilson

Test edildi ve işe yarıyor! Excel 2007'nin İtalyanca sürümü için doğru tanımı bulmalıydım. İtalyanca Excel'iniz varsa = INFO.CELLA (48; INDIRETTO ("rc"; FALSO)) kullanmalısınız (virgül yerine noktalı virgül de unutmayın)
Kar.ma

Kötü kısım, onu bir makro dosyası (örn. .Xlsm) olarak kaydetmeniz ve dosyayı açtığınızda, makroları etkinleştirene kadar renklendirme gösterilmez.
Kar.ma

Eskiden xlmherhangi bir makro uyarısı olmadan kullanabilirsiniz , MSFT güvenlik yaklaşımını değiştirdi.
brettdj

11

Bağlantılı makaleyi takip etmeyi oldukça zor bulduğum için brettdj'nin cevabına dayanarak:

  1. Yeni bir Koşullu Biçimlendirme kuralı oluşturun ve hangi hücrelerin biçimlendirileceğini belirlemek için Formül kullan'ı seçin
  2. Aşağıdaki formülü ekleyin: =ISFORMULA(INDIRECT("rc",FALSE))
  3. Kuralın tüm çalışma sayfasına uygulanmasını istiyorsanız, $1:$1048576aralık olarak uygulanır. Aksi takdirde, herhangi bir aralık girebilirsiniz.

Formül INDIRECT("rc",FALSE), geçerli hücrenin başvurusunu döndürür. Bunu bir sayfada ThisCellkullanırsam, yıllar sonra geri gelip "bunun ne için olduğunu düşünüyorsun" diye düşünürsem, formülde böyle bir tanımlı Ad yaratırım .


Bu, Excel 2013 ve sonraki sürümler için doğru yanıttır, bkz. Support.office.com/en-us/article/…
anishpatel

1
Kullanmak yerine, INDIRECT("rc",FALSE)koşullu biçimlendirme "Aşağıdakilere Uygulanır" aralığınızdaki sol üst hücre ile göreli referans kullanın. Örneğin, "Aşağıdakilere Uygulanır" aralığınız ise =$A$3:$F$300kullanın =ISFORMULA(A3). Bu eserler koşullu biçimlendirme destekleri göreceli referans çünkü bakınız bu
Micah Lindström

4

Bunları deneyebilirsiniz:

VBA

Aşağıdaki kodla özel bir işlev oluşturun:

Function IsFormula(ByVal Ref As Range) As Variant
    If Ref.Cells.Count > 1 Then
        IsFormula = CVErr(xlErrNA)
    Else
        IsFormula = Ref.HasFormula
    End If
End Function

Misal:

A sütunundaki hücrelerin herhangi bir formülü olup olmadığını kontrol etmek için:

  1. A sütununu vurgulayın
  2. Koşullu Biçimlendirme > Yeni Kural > Hangi hücrelerin biçimlendirileceğini belirlemek için bir formül kullan seçeneğine gidin.
  3. Ff kullanın. formül:=IsFormula(A1)

Sigara VBA

  1. Basın F5veya Ctrl+G
  2. Özel'i tıklayın .
  3. Seç Formüller ve tıklayın OK . Bu, çalışma sayfasındaki formül içeren tüm hücreleri vurgular.
  4. Kullanmak istediğiniz biçimi ayarlayın.
    Ya
    gidin Hücre Styles (Ev sekmesi altında) ve formül içeren hücreler ile ilişkilendirmek istediğiniz bir stil seçin. Görünüm ve izlenimi değiştirmek için, seçtiğiniz stile sağ tıklayın ve Değiştir'e tıklayın . Bu stil verilen tüm hücreler otomatik olarak güncellenir.

kişisel olarak VBA kullanmayı tercih etmememe rağmen, formül bu hücreye girildiğinde hücre biçimlendirmesi dinamik olarak değiştirilebildiğinden (veya tersi) VBA çözümü bu durumda daha iyidir. Teşekkürler.
wilson

4

Bunu yapmanın çok basit bir yolu var, Excel 2016'da test edildi.

Bunun uygulanmasını istediğiniz aralığınızı vurgulayın, diyelim ki A3:W20. Koşullu biçimlendirmeye gidin ve seçeneğini belirleyin NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT.

Uygulamak =isformula(A3)istediğiniz biçimi girin ve seçin.

A3aralığınızdaki ilk hücreye referans olduğu açıktır, ancak bu biçimlendirme herkes için geçerlidir. Sonuç, aralığınız dahilinde, formül olan herhangi bir hücrenin koşullu olarak biçimlendirilmesidir.



1

Daha yeni yardım siteleri Kullanıcı Tanımlı bir İşlev önerir:

Function IsFormula(cell) as boolean 
  IsFormula = cell.HasFormula
End Function

Ardından bu işlevi durumunuz olarak kullanın

Aslında, Excel 2013 ve sonraki sürümlerin IsFormulastandart bir işlevi vardır.


-1

Koşullu biçimlendirmeyi de kullanabilirsiniz:

  1. Koşullu biçimlendirmenizi uygulamak istediğiniz hücre aralığını seçin
  2. Home -> Koşullu biçimlendirme -> Yeni kural: Hangi hücrenin biçimlendirileceğini tespit etmek için bir formül kullanın
  3. Bu formül doğru olduğunda değerleri biçimlendir alanına şunu koyun: =HasNoFormula
  4. İstediğiniz biçimi seçin

Excel 2010 kullanılarak test edilmiştir.


Cevabınız eksik. Test ettiğinizi sanmıyorum.
wilson

2
-1, bu hiçbir şey yapmaz. = HasNoFormula ne yapmalı?
toryan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.