Excel - Yinelenen değerleri vurgulamak için bir makro

Microsoft Excel, birden fazla veri kaynağını oluşturmak, işlemek, işlemek veya karşılaştırmak için dünya genelinde yaygın olarak kullanılmaktadır. Excel, VBA ile birlikte, aynı değeri bir sütunda diğerine karşılaştırma gibi birçok ilginç işi yapmak için kullanılabilir. Biri, belirli bir aralıktaki değerleri araştıran ve bir sütundan gelen değerin diğeriyle eşleştiği hücreleri vurgulayan özel bir VBA kodu oluşturabilir. Esnekliğe eklemek için kullanıcı, eşleşen hücrelerin vurgulanmasını istedikleri renk kodlamasını da belirtebilir.

Konu

Oda Listesinde yer alan bir sayfada B sütununda yer alan Oda numaralarını aldım. Ayrıca, aynı sayfadaki D sütununda toplam Oda numaram var. B sütunundaki tüm sayıları D sütununda vurgulamak istiyorum.

Örneğin, numaralarım: 2 numaralı hücrede B2, 8 numaralı hücrede B3 ve 6 numaralı hücrede B4 hücresindeki 8 ve B 1 numaralı hücrede, 2 numaralı hücrede D3, 2 numaralı hücrede D4, 3 numaralı hücrede D5'teki 1, 5 numaralı hücrede, D7 hücresindeki 6, D8 hücresindeki 7, D9 hücresindeki 8, D10 hücresindeki 7, Room List adlı aynı sayfanın D sütununda. B sütunuyla aynı sayıları içeren D sütununda bulunan hücreleri renklendirmek istiyorum. Burada, D3 hücresini vurgulamak istiyorum (Çünkü aynı zamanda B2 hücresinde 2 numaralı içerdiği için), D9 hücresini (Aynı sayı içerdiği için) B3 hücresi olarak), D7 hücresi (Çünkü B4 hücresiyle aynı sayıyı içerir).

Bu yüzden sadece D sütununun D3, D9 ve D7 hücrelerinin rengini değiştirmek istiyorum.

Kısacası, B sütununda D sütunundaki aynı sayıları bulmak ve bu hücreleri D sütunundaki renklerle vurgulamak istiyorum.

D sütununda, sayılar yalnızca orijinal konumlarında olmalıdır, ancak hücreler farklı renklerle vurgulanmalıdır.

Çözüm

Bu makroyu çalıştır

İstediğini alıp almadığını onayla

 Alt test () Dim rng Aralık, c Aralık, cfind Aralık, rng1 Aralık Çalışma Sayfaları ("oda listesi") Etkinleştir Ayar rng = Aralık (Aralık ("D2"), Aralık ("D2"). xlDown)) Set rng1 = Aralık (Aralık ("B2"), Aralık ("B2"). Bitiş (xlDown)) Her c için rng olarak ayarla cfind = rng1.Cells.Find (ne: = c.Value, lookat: = xlWhole) Eğer cfind değilse Hiçbir Şey O zaman c.Interior.ColorIndex = 3 Next c End Sub 

Çözüm

Forumdaki bu ipucu için [venkat1926 'e teşekkürler.

Önceki Makale Sonraki Makale

En Ipuçları