[VBA]工作表名稱的應用
因為工作需求常常會有將工作表A抓到工作表B的情況,一開始都是現在工作表A處理完之後再自己手動複製到工作表B,但這樣還是有點麻煩,想要可以一步到位的做法,就開始研究一下怎麼處理。
經由網路搜尋跟自己試誤,整理一下大概會用到的指令。
選擇表格
一般來說如果沒有特別指定的話,執行VBA的工作表都會是當前的工作表(activesheet),但有時候會想要在特定的工作表執行,就可以在執行程式碼之前選擇該工作表,如下所示:
- 1
`選擇XXX工作表
2`Worksheets(名稱).Select
3`範例
4Worksheets("排水&道路工程").Select
指定最後一行(列)
這個功能很實用,用來自己判斷表格的最後一行或是最後一列,網路上很多介紹都適用於當前工作表,如果要改成指定工作表,說明如下:
- x1
`判斷當前的工作表
2r = Cells(ActiveSheet.Rows.Count, 行數).End(xlUp).Row
3`範例
4r = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
5
6c1 = Cells(列數, ActiveSheet.Columns.Count).End(xlToRight).Column
7`範例
8c1 = Cells(1, ActiveSheet.Columns.Count).End(xlToRight).Column
9`判斷指定的工作表,名稱通常會加雙引號
10r = Worksheets(名稱).Cells(Rows.Count, 5).End(xlUp).Row
11`範例
12r = Worksheets("抽水站").Cells(Rows.Count, 5).End(xlUp).Row
IF
判斷式迴圈的時候使用的判斷式,指定工作表的判斷式用法如下:
xxxxxxxxxx
41`cells的用法
2If Worksheets(名稱).Cells(i, 6) <> Worksheets(名稱).Cells(i, 9) And Worksheets(名稱).Cells(i, 1).Value <> "" Then
3`range的用法
4Worksheets(名稱).Range("E" & r & ":F" & r).Select
要是判斷式太長的話,可以用
空白鍵+_
來換行