deltaco
Thành viên mới

- Tham gia
- 21/9/18
- Bài viết
- 25
- Được thích
- 0
Bạn thử với cái Record Macro này xemEm 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 ạ
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
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ạ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
dạ. em sửa lại rồi.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