Page 1 of 1

VBA มีปัญหาในการ refresh pivot ครับ

Posted: Sun Oct 26, 2014 6:20 am
by parakorn
เรียนอาจารย์และทุกท่านครับ

Code: Select all

Sub AddRecord()
'
' AddRecord Macro
'
' Keyboard Shortcut: Ctrl+Shift+S
'
    Application.Goto Reference:="MasterRecord"
    Selection.Copy
    Application.Goto Reference:="ulMyDatabase"
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh
    Sheets("Report").Select
    ActiveSheet.PivotTables("PivotTable4").PivotCache.Refresh
    Sheets("MyDatabase").Select
    Range("C3:E3").Select
    Selection.ClearContents
    Range("C3").Select
End Sub
โค้ดเด้งขึ้น error ไม่ยอม refresh pivottable ทั้งหมด และไม่ยอม clearcontents C3:E3 ด้วยครับ :(

Re: VBA มีปัญหาในการ refresh pivot ครับ

Posted: Sun Oct 26, 2014 8:18 am
by snasui
:D ลองแนบตัวอย่างไฟล์มาด้วย จะได้ช่วยทดสอบให้ได้ครับ

Re: VBA มีปัญหาในการ refresh pivot ครับ

Posted: Sun Oct 26, 2014 8:25 am
by parakorn
ไฟล์แนบครับ :D

Re: VBA มีปัญหาในการ refresh pivot ครับ

Posted: Sun Oct 26, 2014 8:30 am
by snasui
:D ตัวอย่าง Code ตามด้านล่างครับ จะต้องเพิ่มการ Select Sheet ที่มี PivotTable เข้ามาก่อนครับ

Code: Select all

   Sheets("list").Select
   ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh

Re: VBA มีปัญหาในการ refresh pivot ครับ

Posted: Sun Oct 26, 2014 8:39 am
by parakorn

Code: Select all

Sub AddRecord()
'
' AddRecord Macro
'
' Keyboard Shortcut: Ctrl+Shift+S
'
    Application.Goto Reference:="MasterRecord"
    Selection.Copy
    Application.Goto Reference:="ulMyDatabase"
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("list").Select
    ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh
    Sheets("Report").Select
    ActiveSheet.PivotTables("PivotTable4").PivotCache.Refresh
    Sheets("MyDatabase").Select
    Range("C3:E3").Select
    Selection.ClearContents
    Range("C3").Select
End Sub
Thank you Teacher ♥