Tạo trong biểu đồ cột trong ô - Mẹo Excel

Một độc giả đến từ Cộng hòa Séc đã hỏi về cách tạo biểu đồ trong ô để minh họa tỷ lệ phần trăm.

Nếu giá trị trong một ô là 37%, làm thế nào tôi có thể tô màu cho 37% ô tính từ dưới cùng?

Mala Singh từ bộ phận Đồ họa của chúng tôi đã đưa ra giải pháp thú vị này để tạo ra hiệu ứng mong muốn. Mala đã xây dựng một trang tính trong đó mỗi hàng thực sự bao gồm 2 hàng được hợp nhất. Các ô B2 & B3 được hợp nhất với nhau trong một ô. Khi giá trị trong B2 được thay đổi, một chút mã VBA trong ngăn trang tính sẽ tự động điều chỉnh độ cao của hàng 2 & hàng 3. Ô C3 có màu xanh lam và ô C2 có màu trắng. Hiệu quả là cột C xuất hiện để hiển thị biểu đồ cột trong ô. Hình ảnh này cho thấy các độ cao khác nhau của thanh màu xanh lam trong các ô từ C2 đến C13.

Bước đầu tiên là hợp nhất các ô B2 & B3 thành một ô duy nhất. Bạn sẽ chọn các ô B2 & B3. Từ menu, chọn Định dạng, Ô. Chuyển đến tab Căn chỉnh. Chọn hộp để Hợp nhất ô. Điều này sẽ làm cho B2 & B3 hoạt động như một ô duy nhất được gọi là B2.

Để lại ô C2 không tô và sử dụng bất kỳ tô màu nào cho ô C3.

Mã cho kỹ thuật này không được đặt trong một mô-đun thông thường. Nó là mã "trình xử lý sự kiện" và phải được đặt trên mô-đun mã cho trang tính cụ thể này. Đọc bài viết Macro sự kiện để thêm đường dẫn và tên tệp vào tiêu đề Excel để có hình ảnh trực quan về cách mở mô-đun mã cho trang tính.

Nhập mã sau vào mô-đun mã cho Sheet1 (hoặc bất kỳ trang nào bạn đang làm việc).

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ạn có thể lặp lại quy trình hợp nhất các cặp ô trong cột B.

Cảm ơn Mala Singh về giải pháp này. Mala có thể thiết kế các giải pháp biểu đồ tùy chỉnh để đáp ứng mọi nhu cầu. Anh ấy đã đóng góp vào chương biểu đồ trong VBA và Macros cho Excel.

thú vị bài viết...