簡體   English   中英

如何在Excel中使用VBA確定最后一列(具有值的最后一列)?

[英]How to determine the last column(last column with value) using VBA in excel?

我有一個問題想知道是否有人可以幫助我。

我正在做一個項目,要求獲得測試結果的摘要。 我的流程如下

首先,我需要打開我收集的測試結果,然后創建一個數據透視表,在對需要查看的內容進行相應設置之后,將表復制到另一個電子表格中。 在該電子表格的上方,它將某些名稱更改為所需的名稱,最后,將其復制到摘要表中。 然后,我還需要以%列出摘要。

我在這里面臨一個問題,對於我收集的測試結果,當我將其放入數據透視表中時,我無法確定將出現的列數。 例如

在一個例子中,我們可以有 在此處輸入圖片說明

在另一種情況下,我們可以

在此處輸入圖片說明

如果您注意到第二張圖像使用了更多列。 因此,我想知道你們是否可以與我分享任何方法來確定最后一個包含要復制的詳細信息的列。

而且我能否獲取最后一列的編號,以便也可以獲取摘要,因為我需要將其以%的形式輸入。

目前,我正在使用“ Range(A1:Z1000000)”,因為我無法真正手動找到%,所以對我來說幾乎是不可能的。

順便說一句,我需要在VBA代碼中。

感謝提供的所有意見和選擇! 先感謝您!

這應該可以解決問題:

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

您可以按如下方式使用.SpecialCells():

ActiveSheet.UsedRange.SpecialCells(xlLastCell).Column

或者,請查看數據透視表對象的ColumnRange屬性。 它具有Count屬性,該屬性將返回數據透視表中的列數,這也可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM