Hücre Sütun Grafiği Oluştur - Excel İpuçları

Çek Cumhuriyeti'nden bir okuyucu, yüzdeyi göstermek için bir hücre içi grafik oluşturmayı sordu.

Bir hücredeki değer% 37 ise, hücrenin% 37'sini alttan bir renkle nasıl doldurabilirim?

Grafik bölümümüzden Mala Singh, istenen etkiyi yaratmak için bu ilginç çözümü buldu. Mala, her satırın aslında 2 birleştirilmiş satırdan oluştuğu bir çalışma sayfası oluşturdu. B2 ve B3 hücreleri tek bir hücrede birleştirilir. B2'deki değer değiştirildiğinde, çalışma sayfası bölmesindeki bir VBA kodu, satır 2 ve satır 3'ün yüksekliğini otomatik olarak ayarlayacaktır. C3 hücresi mavi, C2 hücresi beyaz renklidir. Bunun etkisi, C sütununun hücrede bir sütun grafiği göstermesidir. Bu görüntü, C2 ile C13 arasındaki hücrelerdeki mavi çubuğun çeşitli yüksekliklerini gösterir.

İlk adım, B2 ve B3 hücrelerini tek bir hücrede birleştirmektir. B2 ve B3 hücrelerini seçeceksiniz. Menüden Biçim, Hücreler'i seçin. Hizalama sekmesine gidin. Hücreleri birleştir kutusunu işaretleyin. Bu, B2 ve B3'ün B2 adlı tek bir hücre gibi davranmasına neden olur.

C2 hücresini dolgusuz bırakın ve C3 hücresi için herhangi bir renk dolgusu kullanın.

Bu tekniğin kodu normal bir modüle yerleştirilmemiştir. Bu "olay işleyici" kodudur ve bu belirli çalışma sayfası için kod modülüne yerleştirilmelidir. Çalışma sayfası için kod modülünün nasıl açılacağına ilişkin görsel için Excel Başlığına Yol ve Dosya Adı Eklemek için Etkinlik Makrosu makalesini okuyun.

Sayfa1 için kod modülüne aşağıdaki kodu girin (veya üzerinde çalıştığınız sayfa).

Private Sub Worksheet_Change(ByVal Target As Range) Dim cell As Range For Each cell In Target.Cells If cell.Column = 2 And cell.Row> 1 Then If cell.Value> 1 Or cell.Value < 0 Then cell.Select MsgBox ("Value must be between 0 and 100%") End If If IsEmpty(cell) Or cell.Value = 0 Then cell.Range("B1:B2").RowHeight = 25 'cell.Range("B2").Interior.ColorIndex = xlNone Else On Error Resume Next cell.Range("B1").RowHeight = 50 * (1 - cell.Value) With cell.Range("B2") .RowHeight = 50 * cell.Value '.Interior.Color = RGB(0, 0, 255) On Error GoTo 0 End With End If End If Next End Sub

B sütunundaki hücre çiftlerini birleştirme işlemini tekrarlayabilirsiniz.

Bu çözüm için Mala Singh'e teşekkürler. Mala, her türlü ihtiyacı karşılamak için özel grafik çözümleri tasarlayabilir. VBA ve Macros for Excel'deki grafik bölümüne katkıda bulundu.

Ilginç makaleler...