Page 1 of 1

Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Fri Sep 13, 2019 3:24 pm
by wisitsakbenz
เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

ขอบคุณครับ

Re: Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Fri Sep 13, 2019 5:01 pm
by parakorn
ไม่ค่อยเก่ง VBA เท่าไหร่ครับ ลองแบบนี้ดูนะครับ

Code: Select all

Sub pivot_table()
    Dim pt_cache As PivotCache
    Dim pt_table As PivotTable
    Set pt_cache = ActiveWorkbook.PivotCaches.Add( _
        SourceType:=xlDatabase, _
        SourceData:=Worksheets("DATA SNH").UsedRange)
    Worksheets("สรุป SNH").UsedRange.Clear 'Add this line
    Set pt_table = pt_cache.CreatePivotTable( _
        TableDestination:=Worksheets("สรุป SNH").Range("A1"), _
        TableName:="PivotTable1")
    With pt_table
     
        .PivotFields("ประกันไทย /ต่างประเทศ").Orientation = xlPageField
        .PivotFields("เดือน").Orientation = xlPageField
        .PivotFields("ปี").Orientation = xlPageField

        .PivotFields("แผนกที่ส่งเอกสาร").Orientation = xlRowField
        

        .PivotFields("ประกันไทย /ต่างประเทศ").Orientation = xlDataField
        .PivotFields("ประกันไทย /ต่างประเทศ").Orientation = xlDataField
    End With
    
    With ActiveSheet.PivotTables("PivotTable1").DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With

End Sub
หรือรอท่านอื่น อาจจะเขียนรวม ใน With แรกได้ครับ :roll:

Re: Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Fri Sep 13, 2019 9:14 pm
by wisitsakbenz
ไม่ได้ครับอาจารย์ ลอง run macro แล้ว error ครับ

รบกวนด้วยครับ ขอบคุณครับ

Re: Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Fri Sep 13, 2019 10:57 pm
by puriwutpokin
ปรับเป็น

Code: Select all

Sub pivot_table()
    Dim pt_cache As PivotCache
    Dim pt_table As PivotTable
    Set pt_cache = ActiveWorkbook.PivotCaches.Add( _
        SourceType:=xlDatabase, _
        SourceData:=Worksheets("DATA SNH").UsedRange)
    Worksheets("สรุป SNH").UsedRange.Clear 'Add this line
    Set pt_table = pt_cache.CreatePivotTable( _
        TableDestination:=Worksheets("สรุป SNH").Range("A1"), _
        TableName:="PivotTable1")
    With pt_table
        .PivotFields("ประกันไทย /ต่างประเทศ").Orientation = xlPageField
        .PivotFields("เดือน").Orientation = xlPageField
        .PivotFields("ปี").Orientation = xlPageField
        .PivotFields("แผนกที่ส่งเอกสาร").Orientation = xlRowField
        .PivotFields("ประกันไทย /ต่างประเทศ").Orientation = xlDataField
        .PivotFields("ประกันไทย /ต่างประเทศ").Orientation = xlDataField
    End With
        With Sheets("สรุป SNH").PivotTables("PivotTable1").DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With
End Sub

Re: Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Sat Sep 14, 2019 9:49 am
by wisitsakbenz
เรียน อาจารย์ครับ

ผมลองเอาโค้ดไปวางแล้ว run ดู ขึ้น error "Subscript out of range" ตามไฟล์แนบครับ

ขอบคุณครับ

Re: Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Sat Sep 14, 2019 10:11 am
by puriwutpokin
เวลาคัดลอกโค้ด ควรเอาคำที่มีภาษาไทยมาด้วยครับ ลองดูตามไฟล์แนบครับ
วิธีเอาโค้ดที่มีภาษาไทยปนอยู่ดูจากหัวเว็บนี้ได้เลยครับ โดยเปลี่ยน ภาษาเครื่องเป็นไทย
ก่อนคัดลอกครับ ไม่มีภาษาไทยในโค้ดก็รันไม่ได้ครับ เพราะโค้ดมีภาษาไทยอยู่ด้วยครับ
ลองศึกษาเรื่อง VBA มาก่อนด้วยครับจะได้ตอบได้ถูกและรวดเร็วไม่ต้องมาทำเรื่องเดิมซ้ำครับ :D :D

Re: Excel macro : Pivot Table เวลา run macro แล้วค่า Sum Values จะอยู่ตรง Rows อยากให้อยู่ตรง column ต้องทำอย่างไรครับ

Posted: Sat Sep 14, 2019 10:45 am
by wisitsakbenz
ได้แล้วครับ ขอบคุณครับอาจารย์ puriwutpokin