저는 VBA에서 초보자이며 Excel에서 VBA를 사용하여 PivotTable
을 만들려고합니다.vba를 사용하여 피벗 테이블을 만드는 방법
입력 용지와 같이 아래 이미지처럼 생성하고 싶습니다.
나는 region
, month
, number
, status
의 행 레이블을 추가하려고하고 값은 "피벗 테이블"시트 value1
, value2
여기 total
이 생성 실행하는 동안 나는, 피벗에 대한 범위를 설정할 수 있어요입니다 만. sheet1에 대한 피벗 테이블을 생성하지 않습니다.
내 코드는 :
Option Explicit
Public Sub Input_File__1()
ThisWorkbook.Sheets(1).TextBox1.Text = Application.GetOpenFilename()
End Sub
'======================================================================
Public Sub Output_File_1()
Dim get_fldr, item As String
Dim fldr As FileDialog
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.AllowMultiSelect = False
If .Show <> -1 Then GoTo nextcode:
item = .SelectedItems(1)
If Right(item, 1) <> "\" Then
item = item & "\"
End If
End With
nextcode:
get_fldr = item
Set fldr = Nothing
ThisWorkbook.Worksheets(1).TextBox2.Text = get_fldr
End Sub
'======================================================================
Public Sub Process_start()
Dim Raw_Data_1, Output As String
Dim Raw_data, Start_Time As String
Dim PSheet As Worksheet
Dim DSheet As Worksheet
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
Dim LastRow As Long
Dim LastCol As Long
Start_Time = Time()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Raw_Data_1 = ThisWorkbook.Sheets(1).TextBox1.Text
Output = ThisWorkbook.Sheets(1).TextBox2.Text
Workbooks.Open Raw_Data_1: Set Raw_data = ActiveWorkbook
Raw_data.Sheets("Sheet1").Activate
On Error Resume Next
'Worksheets("Sheet1").Delete
Sheets.Add before:=ActiveSheet
ActiveSheet.Name = "Pivottable"
Application.DisplayAlerts = True
Set PSheet = Worksheets("Pivottable")
Set DSheet = Worksheets("Sheet1")
LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = DSheet.Cells(1, Columns.Count).End(xlToLeft).coloumn
Set PRange = DSheet.Range("A1").CurrentRegion
Set PCache = ActiveWorkbook.PivotCaches.Create_(SourceType:=xlDatabase, SourceData:=PRange)
Set PTable = PCache.CreatePivotTable(TableDestination:=PSheet.Cells(1, 1), TableName:="PRIMEPivotTable")
With PTable.PivotFields("Region")
.Orientation = xlRowField
.Position = 1
End With
당신은 어떤 오류를 받고 어디입니까? 적어도 하나 이상의 맞춤법 오류가 여기에 있습니다. LastCol = DSheet.Cells (1, Columns.Count) .End (xlToLeft) .coloumn <= 열 – QHarr
오류 재발견은 F8을 사용하여 코드를 건너 뛴 다음 문제를 확인하십시오 아마도. 질문에서 당신이 원했던 것과 시도한 것을 작동하지 않는 것이 무엇인지 분명하게하십시오. 일부 코드가 누락 되었습니까? – QHarr
피벗을 수동으로 피벗을 만들고 매크로 레코더를 사용하여 시도한 적이 있습니까? –