標題:
請問樞紐後如何快速擷取所需的欄位貼在另個檔案
[打印本頁]
作者:
jessicamsu
時間:
2012-9-28 21:39
標題:
請問樞紐後如何快速擷取所需的欄位貼在另個檔案
請問有一個報表(如附件)在9月份欄位,是依據資料檔的樞紐SHEET貼至報表檔而來而來
因為每個月都要update QTY的資料,
有沒有什麼方式在資料檔樞紐完後,可以在開啟"報表"檔案時,下指令需要update的月份後,就可自動update資料?
謝謝
[attach]12622[/attach][attach]12623[/attach]
作者:
JBY
時間:
2012-9-28 21:46
回復
1#
jessicamsu
按"F5"鍵
作者:
Hsieh
時間:
2012-9-29 00:45
回復
1#
jessicamsu
報表活頁簿的ThisWorkbook模組
Private Sub Workbook_Open()
Dim PT As PivotTable, A As Range, s%, yn As Boolean, k%, Wb As Workbook, fs$
Sheets("Sheet1").Columns("A:D").Clear
fs = ThisWorkbook.Path & "\資料檔.xlsx"
Set Wb = Workbooks.Open(fs)
Set PT = Wb.Sheets("樞紐").PivotTables(1)
With PT
10
s = InputBox("輸入月份", , 9)
If IsNumeric(Application.Match(s, .ColumnFields("月份").DataRange, 0)) Then
s = Application.Match(s, .ColumnFields("月份").DataRange, 0)
Else
MsgBox "無此月份": GoTo 10
End If
For Each p In Array("地區別", "客戶", "產品")
Set A = .PivotFields(p).DataRange
If Application.CountBlank(A) > 0 Then yn = True Else yn = False
Sheets("Sheet1").[A1].Offset(, k).Resize(A.Rows.Count, 1).Value = A.Value
If yn = True Then Sheets("Sheet1").[A1].Offset(, k).Resize(A.Rows.Count, 1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Sheets("Sheet1").[A1].Offset(, k).Resize(A.Rows.Count, 1) = Sheets("Sheet1").[A1].Offset(, k).Resize(A.Rows.Count, 1).Value
k = k + 1
Next
Sheets("Sheet1").[A1].Offset(, k).Resize(A.Rows.Count, 1).Value = .DataBodyRange.Columns(s).Value
End With
Wb.Close 0
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)