Buat Bagan Kolom Dalam Sel - Tips Excel

Seorang pembaca dari Republik Ceko bertanya tentang membuat diagram dalam sel untuk mengilustrasikan persentase.

Jika nilai dalam sel adalah 37%, bagaimana saya bisa mengisi 37% sel dari bawah dengan warna?

Mala Singh dari divisi Grafik kami menemukan solusi menarik ini untuk menghasilkan efek yang diinginkan. Mala membuat lembar kerja di mana setiap baris sebenarnya terdiri dari 2 baris yang digabungkan. Sel B2 & B3 digabungkan menjadi satu sel. Ketika nilai dalam B2 diubah, sedikit kode VBA di panel lembar kerja akan secara otomatis menyesuaikan ketinggian baris 2 & baris 3. Sel C3 diwarnai biru dan sel C2 diwarnai putih. Efeknya adalah kolom C tampak memperlihatkan bagan kolom di dalam sel. Gambar ini menunjukkan berbagai ketinggian bilah biru di sel C2 hingga C13.

Langkah pertama adalah menggabungkan sel B2 & B3 menjadi satu sel. Anda akan memilih sel B2 & B3. Dari menu, pilih Format, Sel. Buka tab Alignment. Centang kotak untuk Gabungkan sel. Ini akan menyebabkan B2 & B3 bertindak sebagai sel tunggal yang disebut B2.

Biarkan sel C2 tanpa isian dan gunakan isian warna apa pun untuk sel C3.

Kode untuk teknik ini tidak ditempatkan dalam modul biasa. Ini adalah kode "event handler" dan harus ditempatkan pada modul kode untuk lembar kerja khusus ini. Baca Makro Peristiwa untuk Menambahkan Path dan Nama File ke artikel Header Excel untuk visual tentang cara membuka modul kode untuk lembar kerja.

Masukkan kode berikut pada modul kode untuk Sheet1 (atau lembar apa pun yang Anda kerjakan).

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

Anda dapat mengulangi proses penggabungan pasangan sel di kolom B.

Terima kasih kepada Mala Singh untuk solusi ini. Mala dapat merancang solusi pembuatan bagan khusus untuk memenuhi kebutuhan apa pun. Dia berkontribusi pada bab pembuatan bagan di VBA dan Macro untuk Excel.

Artikel yang menarik...