您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > VBA创建透视表代码
一、VBA读取excel:SubLoadExcelData()DimwkbkAsWorkbook'定义一个工作薄DimmyFileNameAsString'定义要读取的文件路径DimrgA1AsString'定义要读取的单元格A1DimrgB10AsString'定义要读取的单元格B10myFileName=Application.GetOpenFilename(EXCEL文件(*.xls),*.xls)'浏览文件,如XX公司08年XX表.xlsIfmyFileName=FalseThen'如果按取消那么弹出对话框MsgBox请选择文件!,vbInformation,取消ElseSetwkbk=Workbooks.Open(myFileName)'先打开要复制的文件wkbk.Activate‘激活打开工作簿Sheets(Sheet1).Activate‘如果提示下标越界,可以使用Sheets(1).ActivatergA1=Cells(1,1)'取得A1Sheets(Sheet2).ActivatergB10=Cells(10,2)'取得B10wkbk.CloseFalse'关闭工作薄Cells(2,1)=rgA1’给目标格赋值A2Cells(3,1)=rgB10’给目标格赋值A3MsgBox文件导入成功,请保存该文件!'EndIfEndIfEndSub二、VBA创建透视表Subtest()DimDataRngAsRange'定义一个数据范围,用来储存生成数据透视表的数据DimMyPivotAsWorksheet'定义一个工作表,存放数据透视表DimMyPivotTableAsPivotTable'定义一个数据透视表,用来储存数据透视表对象”DimMyTableAsWorksheet'定义一个工作表,做为汇总表DimshAsWorksheet'定义工作表变量,删除数据透视表时使用SetDataRng=Range(明细表!A1:E59)'确定生成数据透视表的数据'也可以用inputbox方法选择,语句如下'SetDataRng=Application.InputBox(请选择需要生成数据透视表的数据,Type:=8)SetMyPivot=Sheets.Add'新建一个工作表,用来存放数据透视表'下面这一句是利用PivotTableWizard方法生成一个空的数据透视表;SetMyPivotTable=MyPivot.PivotTableWizard(SourceType:=xlDatabase,SourceData:=DataRng)'添加数据透视表行字段和列字段,如果需要同时添加多个行字段或者列字段,用arr函数MyPivotTable.AddFieldsRowFields:=Array(BH,XM),ColumnFields:=MC'添加数据透视表数据字段和汇总方法,注意这里需要写完整数据字段“MyPivotTable.PivotFields(JE)”MyPivotTable.AddDataFieldMyPivotTable.PivotFields(JE),Function:=xlSum'去掉BH字段中分类汇总功能,Subtotals(1)=false代表将索引1(自动)为false,则其他所有值将设置为False。如果需要分类汇总功能,则设置为true或不要这句;MyPivotTable.PivotFields(BH).Subtotals(1)=False'建一个新表,将所需内容copy到新表SetMyTable=Sheets.AddRange(MyPivot.Cells.Find(BH),MyPivot.UsedRange.Item(MyPivot.UsedRange.Count)).CopyMyTable.Range(A1)'以下内容是将新表改为汇总表,如果有汇总表存在,则弹出提示OnErrorGoToErrorHandlerMyTable.Name=汇总表ErrorHandler:IfErr.Number=1004ThenMsgBox汇总表已存在'删除生成的数据透视表Application.DisplayAlerts=FalseForEachshInWorksheetsIfsh.NameLikeSheet*Thensh.DeleteNextApplication.DisplayAlerts=TrueElse'删除生成的数据透视表Application.DisplayAlerts=FalseForEachshInWorksheetsIfsh.NameLikeSheet*Thensh.DeleteNextApplication.DisplayAlerts=TrueEndIfEndSub
本文标题:VBA创建透视表代码
链接地址:https://www.777doc.com/doc-3947076 .html