Màu của biểu đồ từ các ô có dữ liệu của nó

Công thức của vấn đề

Tôi muốn các cột trên biểu đồ (hoặc các lát trên biểu đồ hình tròn, v.v.) tự động có màu được sử dụng để lấp đầy các ô tương ứng với dữ liệu nguồn:

Dự đoán được tiếng kêu kinh ngạc và phẫn nộ của từng cá nhân đồng chí, cần lưu ý rằng, tất nhiên, màu điền trong sơ đồ cũng có thể được thay đổi theo cách thủ công (nhấp chuột phải vào cột - Định dạng điểm / chuỗi (Định dạng điểm / chuỗi dữ liệu) vv - không ai tranh luận. Nhưng trong thực tế, có rất nhiều trường hợp dễ dàng và thuận tiện hơn khi thực hiện việc này trực tiếp trong các ô có dữ liệu, và sau đó biểu đồ sẽ được tự động sơn lại. Ví dụ: hãy thử đặt điền theo khu vực cho các cột trong biểu đồ này:

Tôi nghĩ rằng bạn có được ý tưởng, phải không?

Dung dịch

Không có gì ngoại trừ một macro có thể làm điều này. Do đó, chúng tôi mở Trình chỉnh sửa Visual Basic từ tab nhà phát triển (Nhà phát triển - Trình chỉnh sửa Visual Basic) hoặc nhấn phím tắt Alt + F11, chèn một mô-đun trống mới thông qua menu Chèn - Mô-đun và sao chép văn bản của một macro như vậy vào đó, nó sẽ thực hiện tất cả công việc:

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" Thoát Sub End If Set c = ActiveChart For j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ","") Set r = Range(m(2)) For i = 1 Đến r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Tiếp theo i Tiếp theo j Kết thúc Phụ  

Bây giờ bạn có thể đóng Visual Basic và quay lại Excel. Sử dụng macro đã tạo rất đơn giản. Chọn biểu đồ (vùng biểu đồ, không phải vùng biểu đồ, lưới hoặc cột!):

và chạy macro của chúng tôi bằng nút Macros chuyển hướng nhà phát triển (Nhà phát triển - Macro) hoặc bằng một phím tắt Alt + F8. Trong cùng một cửa sổ, trong trường hợp sử dụng thường xuyên, bạn có thể gán phím tắt cho macro bằng cách sử dụng nút Thông số (Tùy chọn).

PS

Điều duy nhất trong thuốc mỡ là không thể sử dụng một hàm tương tự đối với các trường hợp màu được gán cho các ô của dữ liệu nguồn bằng cách sử dụng các quy tắc định dạng có điều kiện. Thật không may, Visual Basic không có công cụ tích hợp để đọc các màu này. Tất nhiên, có một số “nạng” nhất định, nhưng chúng không hoạt động cho mọi trường hợp và không phải trong tất cả các phiên bản.

  • Macro là gì, cách sử dụng chúng, nơi chèn mã macro trong Visual Basic
  • Định dạng có điều kiện trong Excel 2007-2013
  • Có gì mới trong biểu đồ trong Excel 2013

Bình luận