日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

我是一個急性子,干什么事都希望馬上能夠完成,也希望馬上能夠知道事情的結果,去什么地方也希望馬上能夠到達目的地。我不知道大家是不是都跟我一樣,但我知道Excel中有滿足我們這些急性子人的快速功能。

下圖所示為帶有一組數據的工作表,活動單元格(也稱為當前單元格)為單元格A1。按下組合鍵,當前單元格會快速移動到單元格A10;接著按下組合鍵,當前單元格會快速移動到單元格C10;再按下組合箭,當前單元格會快速移動到單元格C1;再按下組合箭,當前單元格又回到單元格A1。

現在,在Excel中打開宏錄制器(即單擊“開發工具”——“錄制宏”),從當前單元格A1開始,按上面所述的方法,使用 Ctrl+方向箭組合箭快速移動單元格,即從A1移至A10再移至C10再移至C1最后回到A1,最后關閉宏錄制器(即單擊“開發工具”——“停止錄制“)。

宏錄制器錄制的代碼如下:

Sub 宏1()

‘ 宏1 宏

Selection.End(xlDown).Select

Selection.End(xlToRight).Select

Selection.End(xlUp).Select

Selection.End(xlToLeft).Select

End Sub

將錄制的宏代碼與對應的操作解析如下所示:

觀察宏錄制的代碼和相應的解析,可以看出Selection代表當前活動單元格,單元格對象的End屬性使單元格快速移動到同一列或行的末尾或者開頭,其括號內的參數值指示單元格移動的方向。

End屬性的語法表達式為:

Range對象.End(Direction)

返回一個Range對象,代表連續區域內的一個單元格,該單元格在該區域的末尾或開頭。

說明:

Range對象代表區域內的任一單元格。也就是說,不一定是上文所演示的第一個單元格,可以是其它任何單元格。

參數Direction的取值及說明如下:

以本文開頭所示的工作表為例,說明End屬性的使用。

下面的語句:

Range(“B5”).End(xlUp).Select

選擇單元格B1。

下面的語句:

Range(“B5”).End(xlDown).Select

選擇單元格B10。

下面的語句:

Range(“B5”).End(xlToLeft).Select

選擇單元格A5。

下面的語句:

Range(“B5”).End(xlToRight).Select

選擇單元格C5。

注意:上面的示例均為在同一行或列中連續的單元格區域中移動,也就是說區域中沒有空單元格。如果列或行中存在空單元格,那么在向下或向右移動時,End屬性將單元格移動到同一列或行中空單元格之前的那個單元格;在向上或向左移動時,End屬性將單元格移動到同一列或行中空單元格之后的那個單元格。(我們可以在工作表中輸入一些數據,并有意在數據之間留有空單元格,然后使用Ctrl+箭頭方向鍵試驗,體會Excel是怎么快速移動單元格的)

一般,我們使用End屬性查找連續單元格區域的最后一個單元格所在的行或列。

仍然以本文開頭所示的工作表為例,下面的語句:

Range(“A1”).End(xlDown).Select

選擇單元格A10。即列A中有數據的單元格區域的最后一個單元格。

繼續!下面的語句:

Range(“A10”).End(xlDown).Select

選擇單元格A1048576(如果是Excel 2003則為A65536),即列A中的最后一個單元格。換句話說,以有數據的單元格區域的最后一個單元格為起點,結合參數值xlDown(向下移)使用End屬性,活動單元格將移動到工作表中該列或該行所在的最后一個單元格。呵呵,有點意思了!

再試試下面的語句(Excel 2007及以上版本):

Range(“A1048576”).End(xlUp).Select

或者是(Excel 2003及以下版本):

Range(“A65536”).End(xlUp).Select

選擇單元格A10。也就是列A中有數據的單元格區域的最后一個單元格。

我們來小結一下。

類似于本文開頭所示的工作表,如果列A中的單元格區域放置著連續的數據,即表中的單元格區域A1:A10,我們要找到列A中存放數據的最后一個單元格,有兩種方法。第一種是從單元格A1開始使用End屬性向下移至A10,即語句Range(“A1”).End(xlDown).Select。第二種是從工作表列A中的最后一個單元格開始向上移至A10,即語句Range(“A1048576”).End(xlUp).Select。

但是,如果在A1:A10中某個單元格為空(假設是單元格A5),那么語句Range(“A1”).End(xlDown).Select就不會移至單元格A10,而是移至單元格A4。所以,第一種方法不保險,僅在能確保單元格區域連續的情況下使用。通常,我們偏向于使用第二種方法,即從工作表中列中的最后一個單元格向上移,確保能移至該列中最后一個有數據的單元格上。

看看使用第二種方法選取單元格區域最后一個單元格的語句,對于Excel 2007之前或之后的版本,由于行數不同,使用的單元格也不一樣:Range(“A1048576”)或Range(“A65536”)。

在本系列前面的文章中曾介紹,Application對象有一個Rows屬性,可以返回工作表所在的行。該屬性也可以返回工作表中的總行數,語句如下:

Rows.Count

如果是Excel 2003,則返回值65536;如果是Excel 2007及以后的版本,則返回值1048576。

因此,工作表列A中處于最底端(即最后)一個單元格可表示為:

Range(“A” & Rows.Count)

從而上述第二種方法的代碼也可以寫為:

Range(“A” &Rows.Count).End(xlUp).Select

同樣是選擇單元格A10(即列A中有數據的單元格區域的最后一個單元格)。并且,該代碼更具有通用性,這樣就不怕Excel的版本問題了。

注意:上面是以列為例來說明如何選取某列中的最后一個有數據的單元格,對于行來說,如何選取某一行中最后一個有數據的單元格,與上面的方法相同,只是需要修改相關參數。

分享到:
標簽:Excel函數 excel函數公式 excel表格制作 Excel教程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定