【Excel VBA】取得使用儲存格最後一列列數~詳細說明

VBA取得最後一列列數

當我們使用VBA迴圈時,常會以第一列執行至最後一列,那要怎麼使用VBA取得使用儲存格中最後一列的列數呢?以下列出幾種主要的方法。

方法一 移到下方取列數

※輸入以下指令※

Sub 取得最後一列()
列 = Range(“A1”).End(xlDown).Row
MsgBox 列
End Sub

點選「開發人員」-「巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則從「A1儲存格移動到使用儲存格最下方所在的列數,則為最後一列的列數(15)。

但此方法的缺點是當中間夾帶空白儲存格時,則會計算到空白儲存格之前的列數(10)。

方法二 移到上方取列數

※輸入以下指令※

Sub 取得最後一列()
列 = Range(“A65536”).End(xlUp).Row
MsgBox 列
End Sub

執行後則從「A65536儲存格移動到上方有資料所在的列數,則為最後一列的列數(15)。

※為什麼是A65536儲存格呢?因版本2007以前最多僅到65536列,但目前已到1048576列,所以也可以改成A1048576儲存格,但通常不會用到這麼多列。

而此方法若中間夾帶空白儲存格時仍然會計算到最下方有資料之列數(15)。

方法三 取最大列數移上方

※輸入以下指令※

Sub 取得最後一列()
列 = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox 列
End Sub

與方法二差異在方法三是計算出最大列數後,再移動到上方有資料所在的列數,則為最後一列的列數(15)。

方法四 計算區域儲存格的列數

※輸入以下指令※

Sub 取得最後一列()
列 = Range(“A1”).CurrentRegion.Rows.Count
MsgBox 列
End Sub

執行後則從計算目前區域儲存格總共的列數總列數(15)。

方法五 列數加一直到空白列

※輸入以下指令※

Sub 取得最後一列()
列 = 1
Do While Cells(列, 1) <> “”
列 = 列 + 1
Loop
MsgBox 列 – 1
End Sub

執行後則當資料非空值時將列數+1直到最後一列時會再+1需要再-1則為最後一列(15)。

簡化操作版

VBA取得最後一欄欄數

其他文章分享

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *