Buat Carta Lajur Sel - Petua Excel

Seorang pembaca dari Republik Czech bertanya tentang membuat carta dalam sel untuk menggambarkan peratusan.

Sekiranya nilai dalam sel adalah 37%, bagaimana saya dapat mengisi 37% sel dari bawah dengan warna?

Mala Singh dari bahagian Grafik kami membuat penyelesaian menarik ini untuk menghasilkan kesan yang diinginkan. Mala membina lembaran kerja di mana setiap baris sebenarnya terdiri daripada 2 baris gabungan. Sel B2 & B3 digabungkan bersama dalam satu sel. Apabila nilai di B2 diubah, sedikit kod VBA di panel lembaran kerja akan secara automatik menyesuaikan ketinggian baris 2 & baris 3. Sel C3 berwarna biru dan sel C2 berwarna putih. Kesannya ialah lajur C kelihatan menunjukkan carta lajur di dalam sel. Imej ini menunjukkan pelbagai ketinggian bar biru di sel C2 hingga C13.

Langkah pertama adalah menggabungkan sel B2 & B3 menjadi sel tunggal. Anda akan memilih sel B2 & B3. Dari menu, pilih Format, Sel. Pergi ke tab Penjajaran. Tandakan kotak untuk Gabungkan sel. Ini akan menyebabkan B2 & B3 bertindak sebagai sel tunggal yang disebut B2.

Biarkan sel C2 tanpa pengisian dan gunakan isi warna untuk sel C3.

Kod untuk teknik ini tidak diletakkan dalam modul biasa. Ini adalah kod "pengendali acara" dan mesti diletakkan pada modul kod untuk lembaran kerja tertentu ini. Baca artikel Acara Makro untuk Menambah Jalur dan Nama Fail ke Excel Header untuk visual cara membuka modul kod untuk lembaran kerja.

Masukkan kod berikut pada modul kod untuk Helaian1 (atau helaian apa pun yang anda gunakan).

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 boleh mengulangi proses penggabungan pasangan sel di lajur B.

Terima kasih kepada Mala Singh untuk penyelesaian ini. Mala dapat merancang penyelesaian peta khas untuk memenuhi sebarang keperluan. Dia menyumbang kepada bab charting di VBA dan Macro untuk Excel.

Artikel menarik...