Excel 2007: Her satırda düşük değerler sarı, yüksek değerler kırmızı gösterilecek şekilde koşullu biçimlendirme


14

Yaklaşık 300 satırlı bir e-tablo var. Her satırın yaklaşık 15 sütunu vardır ve her hücre sayısal bir değer içerir. Her satır bir ürüne karşılık gelir.

Her bir ürün için, en yüksek sayıları kırmızı ve en düşük sayıları sarı olan hücreleri, aradaki sayılar için bir gradyanla vurgulamak için Excel'i almak istiyorum. Bir satır (özellikle satırdaki verilerimi içeren 15 hücre) seçip Koşullu Biçimlendirme> Renk Ölçekleri> Kırmızı-Sarı Renk Ölçeği'ni tıklarsam bu olur.

Ancak, 300 satır var ve her satırı ayrı ayrı seçmek ve Koşullu Biçimlendirme ayarlamak çok uzun sürer. Öte yandan, tüm aralığı seçip Koşullu Biçimlendirme uygularsam, Excel renkleri tüm satırlara göre hesaplar, aslında bunların satır satır hesaplanmasını istiyorum. Örneğin, şu örnek verileri alın:

1 2 3
4 5 6
7 8 9

İstediğim çıktı, sarı için Y, turuncu için O, kırmızı için R:

Y O R
Y O R
Y O R

Ancak, tüm aralığı seçip Koşullu Biçimlendirme uygularsam, şunu elde ederim:

Y Y Y
O O O
R R R

Bunu bir seferde bir satır yapmadan başarmanın bir yolu var mı?


@wizlog: Doğru. Bir satırdaki en yüksek değer kırmızı, o satırdaki en düşük değer sarı olmalı ve diğer değerler arasında bir yerde olmalıdır (en yüksek değere daha yakın, redder).
Michael Pavey

Bu soruyu beğendim ... Bir cevap bulabileceğimi göreceğim ... Tekrar yardım edebilmem birkaç saat
sürecek

Ben de bu soruyu seviyorum. Ama buna makro yaklaşmaktan başka bir yaklaşım görmüyorum. Umarım birisi beni yanlış kanıtlar.
Ellesa

Yanıtlar:


15

İşte seçiminizdeki her satır için koşullu format oluşturan bir makro. Bunu, ilk satırın biçimini seçimdeki HER satırına kopyalayarak yapar (tek tek, tamamen değil). Değiştir P1: B1 veri tablosunda ilk satırında atfen.

Sub NewCF()
    Range("B1:P1").Copy
    For Each r In Selection.Rows
        r.PasteSpecial (xlPasteFormats)
    Next r
    Application.CutCopyMode = False
End Sub

Kullanmak için veri kümenizdeki biçimlendirilmemiş satırları vurgulayın (benim durumumda B2: P300 ) ve ardından makroyu çalıştırın. Aşağıdaki örnekte, ilk iki satırdaki maksimum sayıların sırasıyla 5 ve 15 olduğunu unutmayın ; her iki hücre de koyu kırmızıdır .

Eminim bundan daha hızlı bir çözüm var.

resim açıklamasını buraya girin


1
Teşekkürler, bu güzel çalıştı. Ayrıca emin olmadığınızda yardım istemenin değerine harika bir örnek ... Bir makro kullanma fikri beni korkutmuştu, çünkü koşullu biçimlendirmeyi sıfırdan nasıl ayarlayacağımı öğrenmem gerektiğini varsayıyordum. Makroyu sadece mevcut biçimlendirmeyi kopyalamak için almak çok daha kurnaz :)
Michael Pavey

@MichaelPavey Yardım edebileceğim için mutluyum! Ve Superuser'a hoş geldiniz! :)
Ellesa

1
+ 1. Herkes ilgileniyorsa bu konsepti blogumda
Doug Glancy

Bu tür şeylerin bir özellik olarak Excel'de yerleşik olmaması saçmadır. Satırları bu şekilde karşılaştırmak nadirdir mi?
Alex

5

Bunu yapmanın en kolay yolu, kademeli olarak kopyala / yapıştır yöntemidir. İlk olarak, 1 satırı istediğiniz şekilde biçimlendirin. Ardından, biçimlendirmeyi yalnızca SADECE ikinci bir satıra kopyalayıp yapıştırın. Şimdi HEM satırları 1 ve 2'yi kopyalayın ve biçimlendirmeyi 3 ve 4 satırlarına yapıştırın. Durulayın ve tekrarlayın, Kopyala 4, son 4, kopya 8, yapıştır 8, kopya 16, yapıştır 16. 16 gibi iyi bir miktarınız olduğunda, 64 veya 128'e kadar almak için birkaç kez yapıştırın. Sonra bunları kopyalayıp biçimlendirmelerini yapıştırabilirsiniz ve üstel olarak öncekinden daha fazla bölgeyi kaplarsınız.

Zarif değil ve benim deneyimime göre yemek satırını şartlı olarak biçimlendirmek için gerekli kaynaklar 2500 sıradan maksimum almaya başlıyor ... ama işi hallediyor.

Keşke her satır için ayrı bir koşullu format oluşturmayan mantık olsaydı, kaynakları sarıyorduk ...


OP'nin "Ancak, 300 satırım var ve her satırı ayrı ayrı seçmek ve Koşullu Biçimlendirmeyi ayarlamak çok uzun sürecek" dedi. soru
Prasanna

@Pultultron, teşekkürler! Buna eklemek için: Ctrl / Cmd + Üst Karakter + Yukarı / sağ tuşlarını kullanarak önceki tüm satırları ve sütunları kolayca seçebilirsiniz, böylece önceki satırları saymanız gerekmez. Yapıştırmaya hazır olduğunuzda, imleci zaten biçimlendirilmiş satırların altındaki ilk hücreye ve yalnızca Özel Yapıştır Biçimi'ne getirin, kopyalandığı kadar satırı kapsayacak şekilde genişler. Ctrl / Cmd + Üst Karakter + V de kullanmak istediğiniz son özel macunu hatırlar, böylece tüm süreç oldukça hızlı bir şekilde devam eder. Sadece her biri 600 satırlı iki e-tabloda kullandım.
Oskar Austegard

Bunu ~ 100 satırlı bir masada yaptım ve güzel çalıştı. Format Ressam'ın sadece 7 yinelemesi yapıldı.
mskfisher

0

Sadece bunu ve bunu VBA ile nasıl yapacağımın diğer örneklerini buldum ve beni düşündürdü ve herhangi bir senaryoyu bilmek veya kopyalamak zorunda kalmadan aynı şeyi yapmanın nispeten hızlı ve acısız bir yolunu buldum.

İstediğiniz Koşullu Biçimlendirmeyi istediğiniz satıra uygulayın ve ardından tüm satırı vurgulayın. Sonraki Kenarlık boyunca herhangi bir yere sağ tıklayın (fare Taşı simgesi olmalıdır) ve bir sonraki satıra sürükleyin. Açılan bağlam menüsünde "Yalnızca Biçimler Olarak Buraya Kopyala" yı seçin. Şimdi Koşullu Biçiminizi her iki satıra ayrı ayrı uygulamanız gerekir. Ardından, tek seferde 2 veya daha fazla satırı seçip kopyalayabilmeniz dışında bunu tekrar tekrar yapmaya devam edin.

Yukarıdaki kod gibi bir kerelik bir anlaşma değil, ama bir seferde bir satır yapmaktan katlanarak daha hızlı. Bu yardımcı olur umarım.


0

Koşul biçimlendirmesini bir satıra da uygulayabilirsiniz. Satırı tekrar vurgulayın ve kilitlemek için "Biçim Boyacısı" üzerine çift tıklayın. Koşulu diğer satırlara uygulamak için aşağı ok tuşunu kullanın.

Benim şirket genellikle excel makro engeller, bu yüzden bu benim için çalışıyor. umarım sana da yardımcı olur.

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.