簡體   English   中英

如何在可變行的VBA中查找列的長度

[英]How to Find the Length of a Column in VBA with a Variable Last Row

我是vba的初學者,希望可以使用它來自動化流程。 我有一個計算機程序,可以為我提供一個Excel電子表格,其中列中的數據量可以更改。 例如,我一次可以有一個長度為9的列:

1個

3

2

4

24

23

432

55

2

或長度為5的列(注意:實際列大小通常以千為單位):

1個

2

3

4

8

我想編寫將捕獲此列的代碼,但不知道該列將持續多長時間。 就像是:

Dim list1 As Array
'I don't know how to find the upper bound
list1 = Range("A1:A" & Upper Bound).Value

任何幫助表示贊賞。 謝謝!

如果您在這些列中使用常量值,並且在這些列中使用大量單元格,則使用count函數可能會很有用:

dim x As Long
x = Worksheets(*sheet name*).Range(*column range*).Cells.SpecialCells(xlCellTypeConstants).Count

x傳遞了您列中非空單元格的數量。 因此,您可能需要注意在列范圍內不要包含任何標題(如果適用)。

我相信這將使您排在最后。 如果要計算所有值,則可能需要小心(例如,前幾行為空白)。

Dim lastRow As Long

lastRow = Cells(Rows.Count, "A").End(xlUp).Row

要將數據從A列獲取到2d變量數組中,請使用以下命令:

Dim vA As Variant

vA = [a1:index(a:a,counta(a:a))]

假定數據中沒有空白單元格,並且數據從第1行開始。

暫無
暫無

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

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