Mới ghi được macro nó như thế này nèXin nhờ các ae chỉ giáo giúp !
Mình có số liệu như thế này
View attachment 205283
Tháng 1
Tháng 2
Tháng 3
Tháng 4
50%
80%
50%
40%
Mình muốn vẽ biểu đồ như vậy, kích thước từng phần bằng nhau, nhưng màu khác nhau, 45%-55% màu xanh dương, trên 55% màu xanh lá, dưới 45% màu đỏ!
Nhờ anh em hỗ trợ giúp!
Sub Macro1()
Dim i As Long
Dim Color_Index1 As Long
Dim Color_Index2 As Long
Dim Color_Index3 As Long
ActiveSheet.ChartObjects("Chart 1").Activate
For i = 1 To 4
If Cells(11, i + 3) < 0.45 Then
Color_Index1 = 100
Color_Index2 = 0
Color_Index3 = 0
ElseIf Cells(11, i + 3) < 0.55 Then
Color_Index1 = 0
Color_Index2 = 100
Color_Index3 = 0
ElseIf Cells(11, i + 3) < 0.75 Then
Color_Index1 = 0
Color_Index2 = 0
Color_Index3 = 100
Else
Color_Index1 = 100
Color_Index2 = 100
Color_Index3 = 0
End If
ActiveChart.SeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = RGB(Color_Index1, Color_Index2, Color_Index3)
Next
End Sub
Mới ghi được macro nó như thế này nè
Mã:Sub Macro1() Dim i As Long Dim Color_Index1 As Long Dim Color_Index2 As Long Dim Color_Index3 As Long ActiveSheet.ChartObjects("Chart 1").Activate For i = 1 To 4 If Cells(11, i + 3) < 0.45 Then Color_Index1 = 100 Color_Index2 = 0 Color_Index3 = 0 ElseIf Cells(11, i + 3) < 0.55 Then Color_Index1 = 0 Color_Index2 = 100 Color_Index3 = 0 ElseIf Cells(11, i + 3) < 0.75 Then Color_Index1 = 0 Color_Index2 = 0 Color_Index3 = 100 Else Color_Index1 = 100 Color_Index2 = 100 Color_Index3 = 0 End If ActiveChart.SeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = RGB(Color_Index1, Color_Index2, Color_Index3) Next End Sub
Thank bạn!Mới ghi được macro nó như thế này nè
Mã:Sub Macro1() Dim i As Long Dim Color_Index1 As Long Dim Color_Index2 As Long Dim Color_Index3 As Long ActiveSheet.ChartObjects("Chart 1").Activate For i = 1 To 4 If Cells(11, i + 3) < 0.45 Then Color_Index1 = 100 Color_Index2 = 0 Color_Index3 = 0 ElseIf Cells(11, i + 3) < 0.55 Then Color_Index1 = 0 Color_Index2 = 100 Color_Index3 = 0 ElseIf Cells(11, i + 3) < 0.75 Then Color_Index1 = 0 Color_Index2 = 0 Color_Index3 = 100 Else Color_Index1 = 100 Color_Index2 = 100 Color_Index3 = 0 End If ActiveChart.SeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = RGB(Color_Index1, Color_Index2, Color_Index3) Next End Sub
Macro đó là phần ghi lại sau khi đổi màu cho biểu đồ, bạn phải vẽ biểu đồ trước!Thank bạn!
Nhưng mà sài macro thì không cần, vì cái đó đơn giản rồi, mình cần vẽ tự động không sài macro đó
Nếu không can thiệp bằng macro thì hiện tại theo tôi biết thì nó sẽ không tự đổi màu đượcThank bạn!
Nhưng mà sài macro thì không cần, vì cái đó đơn giản rồi, mình cần vẽ tự động không sài macro đó
Bài đã được tự động gộp:
Macro đó là phần ghi lại sau khi đổi màu cho biểu đồ, bạn phải vẽ biểu đồ trước!