Page 1 of 1

สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pantip

Posted: Sun Aug 01, 2010 10:00 pm
by mysticboyz
พอดีจะทำกราฟที่มีแกน x เป็นเวลาอะครับแล้วแกน y เป็นค่าต่างๆ

แกน x จะเปลี่ยนค่าได้ตามที่เราจะใส่ว่าต้องการดูค่าของวันที่เท่าไร แล้วค่าแกน Y ก็จะ

ถูกดึงมาจากโปรแกรมอื่นอยู่แล้ว(PI)ครับอันนี้ไม่มีปัญหาอะไร

แต่จะมีปัญหาก็คือเวลาเราเปลี่ยนวันแล้วกราฟใน excel มันจะเพื่อช่วงที่ไม่มีข้อมูลอยู่ด้วยคือสมมุติว่าผมมี

ข้อมูล วันที่ 1,2,3(ผมเลือก major axis ให้มี interval= 1 วัน)

แต่กราฟมันจะ auto วันที่ 31,4 ซึ่งไม่มีข้อมูลในแกน y อยู่ ซึ่งผมสามารถแก้ปัญหาได้โดยการ axis

option แล้ว fix ค่าเริ่มต้นให้มัน กราฟก็จะอยู่ในช่วงที่มีข้อมูลอยู่

แต่เนื่องจากข้อมูลที่ผมใช้มันจะเปลี่ยนช่วงวันที่ีที่ต้องการตลอดเวลา ก็ต้องไป fix ค่าเริ่มต้นใหม่หมด ทุกครั้ง

แล้วจำนวนกราฟก็มีเยอะ เลยอยากทราบว่ามีวิธีไหนที่ทำให้กราฟ auto fix ค่าเริ่มต้นแบบตั้งอัตโนมัติให้

มันอยู่แค่ในช่วงข้อมูลที่เรามีข้อมูลเท่านั้น
.............................

ขอบคุณสำหรับคำตอบของทุกคนด้วยครับ

Re: สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pa

Posted: Sun Aug 01, 2010 10:56 pm
by snasui
:D ลองดูตามไฟล์แนบครับ

สำหรับ Code ที่ใช้ตามด้านล่างครับ

Option Explicit

Code: Select all

Sub Macro1()
    ActiveSheet.ChartObjects("Chart 1").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
    Worksheets("Sheet1").Range("A1").Select
End Sub

Re: สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pa

Posted: Mon Aug 02, 2010 12:25 am
by mysticboyz
ขอบคุณครับ รบกวนอีกเรื่องถ้าเป็นโค๊ดที่ใช้สำหรับทุกกราฟอะครับมันจะมีหรือเป่า คือค่าของ range MIN MAX มันจะเป็นอันเดียวกันทุกกราฟอะครับ

มีโค๊ดสำหรับทุกกราฟหรือเป่าครับ

Re: สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pa

Posted: Mon Aug 02, 2010 11:54 am
by snasui
:D ลองดู Code ตามด้านล่างครับ

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: สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pa

Posted: Mon Aug 02, 2010 1:10 pm
by mysticboyz
ถามอีกเรื่องนะครับแล้วเราจะใส่ macro ไปยัง excel ยังไง ผมกด assign macro ที่กราฟ แก้อะไรเรียบร้อยแล้ว
พอกดเซพและปิดที่ macro และexcel พอเปิดโปรแกรมexcel ใหม่ macro ที่ตั้งไว้หายไปหมดครับ

ขอบคุณมากนะครับ

Re: สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pa

Posted: Mon Aug 02, 2010 2:38 pm
by snasui
:D ถ้า Save ใน Excel 2003 ไม่น่าจะหายครับ

หาก Save ใน Excel 2007 ต้องเซฟด้วยนามสกุล .xlsm ถึงจะไ่ม่หายครับ

สำหรับการ Assigned Macro เราสามารถสร้าง Object ขึ้นมาใหม่ได้เพื่อความสะดวกในการเปลี่ยนแปลงแก้ไขกราฟ กรณีต้องการให้ Macro ทำงานก็ค่อยคลิก Object ที่ Assigned Macro ไว้นั้น :mrgreen:

Re: สอบถามโปรแกรม Excel เกี่ยวกับกราฟไว้ใช้ในการทำงานครับ pa

Posted: Mon Aug 02, 2010 4:39 pm
by mysticboyz
ใช้งานได้แล้วครับ ขอบคุณอาจารย์มาก ครับ