2023/12/08

【Excel教學】在VBA中如何跨工作表處理儲存格

文、意如老師

 


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

 

任務一:基本函數認識(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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img1

 


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img2

 


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


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


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img3

 


所以在這邊拆解成三步驟


步驟一:選取要複製的範圍,例如選取(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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img4

 


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


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


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

 

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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img5

 


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


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

 

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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img6

 


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


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


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img7

 


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img8

 


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img9

 

 

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


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img10

 


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img11

 


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


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

 

[office-yiru-excel-teaching-how-to-process-the-storage-grid-across-the-workhered-in-vba]for ai.rookiesavior lesson img12

 

 

加入菜鳥救星學習會員,不定期獲得更多知識吧!點我註冊 / 登入

 

不同頻道,不同知識 !