Page 1 of 1

ขอสอบถามเกี่ยวกับ Code vba ของ Dynamic Axis range

Posted: Sun Sep 04, 2016 7:01 pm
by Cinderella_K
ขอสอบถามเกี่ยวกับการปรับ Axis range โดยใช้ vb ค่ะ

ได้อ่านกระทู้ที่เกี่ยวกับเรื่องนี้ และได้ทดลองทำกับกราฟปกติ พบว่า Code ที่อาจารย์ให้ไว้ในกระทู้นั้นตามด้านล่างนี้ ใช้งานได้เป็นอย่างดี

แต่เมื่อลองกับกราฟที่ต้องการปรับ กับพบว่า code error ไม่แน่ใจว่าเกิดจากวิธีการสร้างกราฟหรือไม่ รบกวนผู้รู้ช่วยดูด้วยค่ะ

ทั้งนี้ได้แนบไฟล์กราฟมาด้วย

ขอบคุณมากค่ะ


Code: Select all

Option Explicit

Sub Macro1()
Dim i As Integer
For i = 1 To ActiveSheet.ChartObjects.Count
    ActiveSheet.ChartObjects(i).Activate
    ActiveChart.Axes(xlCategory).Select
    With ActiveChart.Axes(xlCategory)
        .MinimumScale = Worksheets("Sheet1").Range("B18").Value
        .MaximumScale = Worksheets("Sheet1").Range("B19").Value
        .MajorUnit = 1
        .CrossesAt = Worksheets("Sheet1").Range("B18").Value
    End With
Next i
    Worksheets("Sheet1").Range("A1").Select
End Sub

Re: ขอสอบถามเกี่ยวกับ Code vba ของ Dynamic Axis range

Posted: Sun Sep 04, 2016 7:20 pm
by snasui
:D Code ที่แนบมานั้นยังไม่ได้ปรับให้ใช้กับกราฟในไฟล์แนบ ให้ปรับมาก่อน ติดตรงไหนค่อยถามกันต่อ อธิบายมาอย่างละเอียดว่าต้องการให้กราฟหลังปรับมีลักษณะเป็นอย่างไร จะได้เข้าใจตรงกันครับ

Re: ขอสอบถามเกี่ยวกับ Code vba ของ Dynamic Axis range

Posted: Tue Sep 06, 2016 12:52 pm
by Cinderella_K
ขอบคุณมากค่ะ กลับไปทดลองปรับเอง ได้ผลเรียบร้อยแล้วค่ะ มีส่วนไหนที่ควรปรับปรุงไหมคะ

Code: Select all

Sub DynamicAxis()
'
'

Dim i As Integer

For i = 1 To ActiveSheet.ChartObjects.Count

    ActiveSheet.ChartObjects(i).Activate
    ActiveChart.Axes(xlValue).Select
    With ActiveChart.Axes(xlValue)
    
        ActiveChart.Axes(xlValue).MinimumScale = Worksheets("HTUGanttChart").Range("B18").Value
        ActiveChart.Axes(xlValue).MaximumScale = Worksheets("HTUGanttChart").Range("B19").Value
        .MajorUnit = 7
        Application.CommandBars("Format Object").Visible = False
        
    End With
    
Next i

        Range("A1").Select
        
End Sub

Re: ขอสอบถามเกี่ยวกับ Code vba ของ Dynamic Axis range

Posted: Tue Sep 06, 2016 7:06 pm
by snasui
:D เอาไว้มีปัญหาค่อยมาดูกันต่อ หากไม่มีปัญหาใดไม่จำเป็นต้องปรับปรุงครับ