Macro điều chỉnh biểu đồ

Liên hệ QC

deltaco

Thành viên mới
Tham gia
21/9/18
Bài viết
25
Được thích
0
Em chào các bác.em mới tập học VBA lên không biết nhiều ạ. Em có 1 biểu đồ ở 1 sheet khác và em muốn chỉnh sửa trục tung và trục hoành của biểu đồ đấy , từ 1 sheet khác thì làm thế nào ạ. . em cảm ơn ạ
 

File đính kèm

  • bd.xls
    217.5 KB · Đọc: 8
Em chào các bác.em mới tập học VBA lên không biết nhiều ạ. Em có 1 biểu đồ ở 1 sheet khác và em muốn chỉnh sửa trục tung và trục hoành của biểu đồ đấy , từ 1 sheet khác thì làm thế nào ạ. . em cảm ơn ạ
Bạn thử với cái Record Macro này xem
PHP:
Sub BD()
    Dim Xmin As Double, Xmax As Double, Ymin As Double, Ymax As Double, AF As Object
Set AF = Application
With Sheets("BD")
    Xmin = AF.Min(.Range("AH5:AH9")) - 0.25: Xmax = AF.Max(.Range("AH5:AH9")) + 0.25
    Ymin = AF.Min(.Range("AI5:AI9")) - 5: Ymax = AF.Max(.Range("AI5:AI9")) + 5
    With .ChartObjects("Chart 55").Activate
        With ActiveChart.Axes(xlValue)
            .MinimumScale = Ymin: .MaximumScale = Ymax
            .TickLabels.NumberFormat = "#.##0,00"
        End With
        With ActiveChart.Axes(xlCategory)
            .MinimumScale = Xmin: .MaximumScale = Xmax
            .MinorUnit = 0.25: .TickLabels.NumberFormat = "#.##0,0"
        End With
    End With
    .Range("A1").Select
End With
End Sub
 
Bạn thử với cái Record Macro này xem
PHP:
Sub BD()
    Dim Xmin As Double, Xmax As Double, Ymin As Double, Ymax As Double, AF As Object
Set AF = Application
With Sheets("BD")
    Xmin = AF.Min(.Range("AH5:AH9")) - 0.25: Xmax = AF.Max(.Range("AH5:AH9")) + 0.25
    Ymin = AF.Min(.Range("AI5:AI9")) - 5: Ymax = AF.Max(.Range("AI5:AI9")) + 5
    With .ChartObjects("Chart 55").Activate
        With ActiveChart.Axes(xlValue)
            .MinimumScale = Ymin: .MaximumScale = Ymax
            .TickLabels.NumberFormat = "#.##0,00"
        End With
        With ActiveChart.Axes(xlCategory)
            .MinimumScale = Xmin: .MaximumScale = Xmax
            .MinorUnit = 0.25: .TickLabels.NumberFormat = "#.##0,0"
        End With
    End With
    .Range("A1").Select
End With
End Sub

Recoder như thế nào mờ gọn và đẹp vậy chị? Có cả Dim và Set nứa, hịn ghê T_T
 
Lần chỉnh sửa cuối:
Bạn thử với cái Record Macro này xem
PHP:
Sub BD()
    Dim Xmin As Double, Xmax As Double, Ymin As Double, Ymax As Double, AF As Object
Set AF = Application
With Sheets("BD")
    Xmin = AF.Min(.Range("AH5:AH9")) - 0.25: Xmax = AF.Max(.Range("AH5:AH9")) + 0.25
    Ymin = AF.Min(.Range("AI5:AI9")) - 5: Ymax = AF.Max(.Range("AI5:AI9")) + 5
    With .ChartObjects("Chart 55").Activate
        With ActiveChart.Axes(xlValue)
            .MinimumScale = Ymin: .MaximumScale = Ymax
            .TickLabels.NumberFormat = "#.##0,00"
        End With
        With ActiveChart.Axes(xlCategory)
            .MinimumScale = Xmin: .MaximumScale = Xmax
            .MinorUnit = 0.25: .TickLabels.NumberFormat = "#.##0,0"
        End With
    End With
    .Range("A1").Select
End With
End Sub
Em muốn khi chạy macro xong thì vẫn ở sheet " điều khiển" active. và nếu ví dụ có 2 biểu đồ thì làm thế nào ạ.
Bài đã được tự động gộp:

Nhờ sửa cái gì thì trước hết tự sửa cái biển hiệu nhà mình đã. Mà những bài như này liệt ngay vào lỗi phạm quy.!!!

View attachment 204337
dạ. em sửa lại rồi.
 
Web KT
Back
Top Bottom