我怀疑是否有人可以帮助我。
我正在做一个需要获得测试结果摘要的项目。我的流程如下,
首先,我需要打开我收集的测试结果,然后创建一个数据透视表,在根据我需要查看的内容进行设置后,我会将表复制到另一个电子表格中。在此电子表格中,它会将某些名称更改为所需的名称,最后,它将被复制到摘要表中。然后我还需要在%中列出摘要。
我面临的问题是,对于我收集的测试结果,当我将其放入数据透视表时,我无法确定将出现的列数。例如
在例子中,我们可以拥有
在另一种情况下,我们可以
如果您注意到第二张图片中使用了更多列。 因此,我想知道您是否有任何方式可以与我分享,以确定最后一个可以复制详细信息的列。
我可以得到最后一列的编号,这样我也可以得到摘要,因为我需要把它放在%的形式。
此刻,我正在使用“范围(A1:Z1000000)”,这对我来说完全不可能,因为我无法手动找到%。
不过,我在VBA代码中需要它。将欣赏所提供的所有意见和选项!提前谢谢!
答案 0 :(得分:1)
这应该可以解决问题:
Sub test()
Dim maxColumn As Long
'Create the table here
maxColumn = getMaxUsedColumnNumber("PivotTableSheet")
'do what you need with the number
End Sub
Function getMaxUsedColumnNumber(sheetName As String) As Long
With Sheets(sheetName)
getMaxUsedColumnNumber = .Cells.Find(What:="*", after:=.Range("A1"), LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
End With
End Function
答案 1 :(得分:0)
您可以使用.SpecialCells(),如下所示:
ActiveSheet.UsedRange.SpecialCells(xlLastCell).Column
或者,查看数据透视表对象的ColumnRange属性。它有一个Count属性,它将返回数据透视表中的列数,这也可以提供帮助。