Revision history and IPFS entry, back to latest
鑫大叔
IPFS What is this

Content Hash

怎麽用Excel VBA實現”複製貼上“(上),鑫大叔Excel VBA第一期

鑫大叔
·
·
試水一下,看有沒有Excel VBA有沒有人感興趣~ 以實用爲目的,專注於快速上手,不會講太多理論。

第一期内容按@小本 要求,講解怎麽用VBA從A分頁自動複製貼上到B分頁。原本沒打算分上下集,但是第一期總要説明下VBA是什麽,使用起來有哪些要注意的,編程環境雖然不複雜也還是得提一下。是以只能分成上下了~



🔷 介紹 🔷

❇️ VBA是什麽:一種主要用於Microsoft Office的編程語言,原名是Visual Basic for Application。這裏主要討論如何在Excel執行和編輯VBA。

❇️ Excel VBA能做什麽:實現自動化/半自動化,把原本你需要自己一步一脚印用滑鼠和鍵盤做的東西,變成點擊一個按鈕就能搞定。能寄電郵、整理資料、生成網頁,大部分重複性強的操作。

❇️ 適用人群:工作經常使用Excel,缺乏編程背景但想要加快工作效率的人。



🔷 編程界面和試著運行一個巨集 🔷

❇️ 第一步,開啓編輯器:打開Excel後,按快速鍵(Alt + F11)開啓VB編輯器(編輯和執行VBA程式碼的地方)。

VB編輯器,編輯和運行VBA程式碼的地方


❇️ 第二步,插入模組(Module):滑鼠右鍵鍵點擊“Microsoft Excel Objects”,在表單中選取“Insert” >> “Module”

插入模組(Module)


❇️ 第三步,貼上程式碼:滑鼠左鍵雙擊“Module1”,黏貼下面的代碼到“Module1”的編輯窗口。

Sub Macro1()
    Sheets("B").Cells(1, 2) = 1
    Sheets("C").Cells(1, 3) = Sheets("B").Cells(1, 2)   
    MsgBox "Hello World!"  
End Sub
複製貼上程式碼


❇️ 第四步,執行程式:滑鼠左鍵單擊工具欄綠色向右箭頭會運行代碼,分頁B的A1單元格出現數字“1”,分頁C的C1單元格也出現數字“1”,並彈出視窗顯示編程經典文字“Hello world!"

程式執行結果


❇️ 單擊箭頭沒有運行代碼,反而跳出視窗怎麽辦?選擇要執行的程式(這裏也就只有一個可以選),再點擊“Run”執行。

看在是我寫的,程式聽話哦,快點執行,不要丟我的臉


🔷 文中範例下載 🔷

  • 如果上面沒有成功,也可以下載範本來試試看,點我下載
  • 檔案打開後注意下是不是有下圖的警告,這是要使用者確認這個巨集是否可信,以免執行了有問題的巨集。點擊“Enable Content”就可以正常使用了。
  • 下圖中的“Macro1”是這次的範例,“Macro2”是下次的範例,有興趣的可以先睹爲快。
如果害怕這個檔案有問題就不要點“Enable Content”


🔷 範例VBA程式碼解説 🔷

Sub Macro1()
End Sub
  • 一個完整的巨集(英文Macro,中國好像叫宏”),格式為Sub開頭,End Sub結尾,"Macro1"可以改成自己喜歡的名字(不能用數字開頭,名字之間也不可有空白,更不能有除了“_”以外的特殊符號,最好是英文,尤其像我這樣電腦用英文系統的人),注意事項可以參考這篇文章。要運行的内容放在它們之間。
  • 巨集的定義是一段可執行的VBA代碼,現階段只要知道你每個程式都要有它就行。


Sheets("B").Cells(1, 2) = 1
  • Sheets(“B”):代表分頁B。
  • Cells(1,2): 代表單元格B1(第一行,第二列)。
  • 整行代碼會將數字1輸入分頁B的單元格B2(第一行,第二列)


Sheets("C").Cells(1, 3) = Sheets("B").Cells(1, 2)   
  • 這行代碼就是讓分頁C的單元格C1(第一行,第三列)等於分頁B的單元格B2(第一行,第二列),用這種方式取得複製貼上的效果。


MsgBox "Hello World!"  
  • 跳出一個視窗,顯示“Hello World!"
  • 每個編程課第一堂課必備内容,理由參考百度百科


🔷 給按鍵設置要運行的巨集 🔷

一般VBA教學的書籍都喜歡用正規但是醜不拉幾的按鈕,我偏不教。

❇️ 第一步,找個你喜歡的圖案:如果沒有喜歡的,隨便放張喜歡的圖代替也可以。

插入用來啓動範例巨集的按鈕


❇️ 第二步,用滑鼠右鍵點擊按鈕,選“Assign Macro..."

用滑鼠右鍵點擊按鈕,選“Assign Macro..."


❇️ 第三步,點擊想要讓按鈕執行的巨集,再點”Ok“,這樣以後點擊按鈕就會執行該巨集了。

選擇想要讓按鈕執行的巨集


🔷 下期預告 🔷

下次在本期的基礎上,套用循環結構重複執行“複製貼上”。



🔷 吐槽廢文 🔷

  • 用英文版的Excel寫中文教學感覺好難,很多功能我都不知道中文叫什麽,還要去參考中文教學書籍,乾脆直接上圖,希望讀者能看懂(不負責任的大叔)。
  • 這期其實跳過了很多原本應該做的設定,但是擔心各位看到要做這麽多設定直接關掉,所以還是後面慢慢補上(如果還有的話)。
CC BY-NC-ND 2.0