Excel開發 VBA 快速定位最後有記錄的行

2021-06-07 21:27:38 字數 1982 閱讀 6530

有時候,在進行excel開發時,需要知道某列的最後一行的行號。excel也提供了相關功能:range.end屬性。

dim strcell as string

dim nlastuserow as long

dim nlastrcdrow as long

dim rng as range

'為最後乙個單元格所在行 , 即最後一行,該函式表示sheet表的使用區域中的最後一行

nlastuserow = cells.specialcells(xlcelltypelastcell).row

' 得到a列單元格的最後一行

strcell = "a" + cstr(nlastuserow + 1)

set rng = range(strcell).end(xlup)

nlastrcdrow = rng.row' 得到行號

需要說明的是:cells.specialcells(xlcelltypelastcell).row 指的是使用區域最後一行,並不是最後有文字單元格的一行。

比如:開始我用了100行,隨後我又刪除了50行,則cells.specialcells(xlcelltypelastcell).row = 100。

當然,如果你儲存了檔案,則cells.specialcells(xlcelltypelastcell).row = 50 了。

所以,可以通過聯合range.end屬性實現快速定位到最後乙個單元格上。

具體幫助說明:(excel help)

range.end 屬性

返回乙個range物件,該物件代表包含源區域的區域尾端的單元格。等同於按鍵 end+ 向上鍵、end+ 向下鍵、end+ 向左鍵或 end+ 向右鍵。range物件,唯讀。 語法

表示式.end(direction)

表示式   乙個代表range物件的變數。引數

名稱必選/可選資料型別描述

direction

必選xldirection所要移至的方向。 示例

本示例選定包含單元格 b4 的區域中 b 列頂端的單元格。

range("b4").end(xlup).select
本示例選定包含單元格 b4 的區域中第 4 行尾端的單元格。

range("b4").end(xltoright).select
本示例將選定區域從單元格 b4 延伸至第四行最後乙個包含資料的單元格。

worksheets("sheet1").activate

range("b4", range("b4").end(xltoright)).select

xldirection 列舉指定移動的方向。

版本資訊

已新增版本:  excel 2007

名稱                  

值            

描   述                

xldown-4121

向下。xltoleft-4159

向左。xltoright-4161

向右。xlup-4162

向上。

系列 iOS開發 如何快速定位bug並解決

本來沒有打算針對這個開文的,昨天工作忙完,閒來無事的時候,逛逛論壇,貼吧啥的,偶然間就發現了有人發bug帖.上面說的神乎其神呢 大家可以去看看.於是編譯執行專案 按照他說的,確實出現了這個小而且偏的bug復現 於是想要解決bug 首先不管理記憶體什麼的問題,懷疑是不是vc沒有釋放?於是在vc的dea...

系列 iOS開發 如何快速定位bug並解決

系列 ios開發 快速定位bug並解決 本來沒有打算針對這個開文的,昨天工作忙完,閒來無事的時候,逛逛論壇,貼吧啥的,偶然間就發現了有人發bug帖.www.jianshu.com p b51ead39c 上面說的神乎其神呢.大家可以去看看.於是編譯執行專案 按照他說的,確實出現了這個小而且偏的bug...

開發過程中如何快速定位問題

結繩記事,總結 思考,方有成長 作為一枚程式設計師,工作中的經驗會不斷積累,已知的區域不斷擴大,在面對各種程式問題,處理起來會越來越游刃有餘。但即使經驗再豐富的程式設計師,也不可能面面俱到,未知的區域仍然會很大,吾生有涯而學無涯。所以面對未知,如何快速定位問題,抓住主要矛盾,避免像無頭蒼蠅一樣亂撞,...