[Excel][VBA]4.跨工作表快速處理、調用、使用儲存格

文、意如

續上一篇都是在同一個工作表處理儲存格,接下來要介紹的是如何到指定的工作表或活頁簿處理儲存格。

任務一:基本函數認識(Select、Column)
任務二:複製與貼上儲存格(Copy、PasteSpecial)
任務三:調用工作表Worksheets( )函數
任務四:調用活頁簿Workbooks( )函數

 

任務一:基本函數認識(Select、Column)

Ex1. 選取儲存格範圍(在儲存格上點一下)
Range(“儲存格範圍”).Select

選取(E1)儲存格
Range(“E1”).Select

選取(A1與C3)儲存格
Range(“A1 , C3”).Select

選取(A1到C3)儲存格
Range(“A1″,”C3”).Select


Ex2.讀出C1在第幾欄
A = Range(“C1”).Column

 

Ex3. 在E1儲存格中讀出C1是哪一欄
Range(“E1”) = Range(“C1”).Column

 

任務二:複製與貼上儲存格(Copy、PasteSpecial)

首先需要選取任一儲存格Select,再搭配Selection.Copy來複製選取的儲存格。

例:將E1儲存格的內容 test123,複製貼上到A1:C3

 

所以在這邊拆解成三步驟

步驟一:選取要複製的範圍,例如選取(E1)儲存格
Range(“E1”).Select

步驟二:複製
Selection.Copy

步驟三:再選取要貼上的儲存格 ,例如A1~C3
Range(“A1″,”C3”).Select

步驟四:貼上
Selection.PasteSpecial

完整程式碼參考如下:

Sub test()
 Range(“E1”).Select
 Selection.Copy
 Range(“A1”, “C3”).Select
 Selection.PasteSpecial
End Sub

 

進階複製(只複製格式或只複製值)

只複製格式(中間有一格空格)
.PasteSpecial xlPasteFormats

例:複製E1儲存格,只複製格式到A5:C5

Sub test()
 Range(“E1”).Select
 Selection.Copy
 Range(“A5”, “C5”).Select
 Selection.PasteSpecial xlPasteFormats
End Sub

 

只複製值(中間有一格空格)
.PasteSpecial xlPasteValues

例:複製E1儲存格,只複製值到A5:C5

Sub test()
 Range(“E1”).Select
 Selection.Copy
 Range(“A6”, “C6”).Select
 Selection.PasteSpecial xlPasteValues
End Sub

 

任務三:調用工作表Worksheets( )函數

Ex1. 指定第一個工作表
使用Worksheets(1) 或是Worksheets(“工作表1”) 都可以

Ex2. 在儲存格E1中顯示第一個工作表的名字
Range(“E1”) = Worksheets(1).Name

 

Ex3. 開啟第一個工作表
Worksheets(1).Activate

 

Ex4. 在工作表1中E1儲存格給予值(輸入欄位為總價)

Worksheets(1).Range(“E1″)=”總價”

 

任務四:調用活頁簿Workbooks ( )函數

Ex1. 建立一個新的活頁簿
Workbooks.Add

 

Ex2. Workbooks代表所有活頁簿-關閉所有活頁簿
Workbooks.close

 

Ex3. 如果是要指定其一本則不需加s – 指定開啟第一本活頁簿後儲存
Workbook(1).Save

Ex4. 當前活頁簿儲存
ActiveWorkbook.Save

Yiru@Studio - 關於我 - 意如