Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用vba在另一个工作表中创建数据范围为的透视表时,类型不匹配_Vba_Excel - Fatal编程技术网

尝试使用vba在另一个工作表中创建数据范围为的透视表时,类型不匹配

尝试使用vba在另一个工作表中创建数据范围为的透视表时,类型不匹配,vba,excel,Vba,Excel,您好当尝试创建数据透视表时,数据源被设置为不同工作表中的一个范围,根据我试图为源数据声明范围的方式,我经常遇到类型不匹配或1004错误。下面是我的代码,有人对如何正确设置我的范围有什么想法吗,这样这个方法就可以工作了,或者我应该使用不同的方法来创建表吗 Worksheets.Add.Name = sheetName rowCount = CStr(Sheets(sourceName).UsedRange.Rows.Count) Set rng = ThisWorkbook.Worksheet

您好当尝试创建数据透视表时,数据源被设置为不同工作表中的一个范围,根据我试图为源数据声明范围的方式,我经常遇到类型不匹配或1004错误。下面是我的代码,有人对如何正确设置我的范围有什么想法吗,这样这个方法就可以工作了,或者我应该使用不同的方法来创建表吗

Worksheets.Add.Name = sheetName

rowCount = CStr(Sheets(sourceName).UsedRange.Rows.Count)

Set rng = ThisWorkbook.Worksheets(sourceName).Range("A1:W" & rowCount)



'Create the Pivot Cache and Table

Set objCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, SourceData:=rng)

Set objTable = objCache.CreatePivotTable(TableDestination:=ActiveWorkbook.Worksheets(sourceName).Range("A1"))

尝试将整个范围放在一个字符串中:

Worksheets.Add.Name = sheetName

rowCount = Cstr(Sheets(sourceName).UsedRange.Rows.Count)

rowCount = "A1:W" & rowCount

Set rng = ThisWorkbook.Worksheets(sourceName).Range(rowCount)



'Create the Pivot Cache and Table

Set objCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, SourceData:=rng)

Set objTable = objCache.CreatePivotTable(TableDestination:=ActiveWorkbook.Worksheets(sourceName).Range("A1"))

将此标记为答案,因为它确实解决了该问题,但是我现在遇到了一个新问题和一个运行时错误1004数据透视表字段名无效