Excel VBA:第1節 打飯前先領餐具

閱讀時間約 4 分鐘

0.Ctrl+方向鍵:跳到最後一筆


  所有的Excel報表重點都在於持續滾動更新,持續更新之重點在於接著編寫,接著編寫的第一步則是「找到最後一筆資料」。以此推論,Excel中最重要的快捷鍵,「Ctrl+方向鍵」(跳到連續資料的最後一筆)當仁不讓;如然,Excel VBA中最重要的指令也想必是Cells(Rows,Columns).End(Direction)了。(偏見)

  但在進入上面那串指令的說明之前,首先需要先打開你手中的Microsoft Excel,並設置「開發人員」的索引標籤為可視。





  此目錄非彼目錄,這節中想要筆記的是:

  1. 如何開始巨集(VBA)
  2. 初步認識編寫VBA的面板
  3. 儲存啟用VBA的活頁簿檔案

  希望從前曾經是我的問題的問題能帶給你靈感。




0.我居然做了封面。

0.我居然做了封面。



1.上菜前先擺盤,使用巨集前先確認開發人員索引標籤已存在


  開發人員索引標籤正常情況下並未設為常用,需要另外叫出。
  <檔案→選項>叫出Excel選項表單,從<自訂功能區>中<主要索引標籤>欄位找到<開發人員>選項打勾後確定關閉。


1.找到開發人員選項打勾。

1.找到開發人員選項打勾。


  退出後確認使用的Excel介面新增了「開發人員」索引頁籤。

2.確認開發人員頁籤新增。

2.確認開發人員頁籤新增。

  最常使用的功能,第一個按鈕「Visual Basic」。我們在這裡編寫VBA指令,在這裡吃飯。

  打開之後的頁面沒有可以輸入的地方,需要另行打開;<插入→模組>,點擊後會針對這份Excel檔案新增<模組>,打開空白頁面,到這裡才算前置步驟完成。


3.Visual Basic是編輯程式,但打開之後需要另開空白頁面。

3.Visual Basic是編輯程式,但打開之後需要另開空白頁面。




2.幾乎所有程式指令的測試都是Hello world,你有想過為什麼嗎


  同一份Excel檔案裡可能可以有複數個巨集(抄寫從ERP系統中導出的資料、整理篩選排序等等,)而每段程式用Sub與End Sub做開頭與結尾。

  人如其名,Sub後可接你對這支程式的命名,下圖範例中我命名這支程式為TEST。在實際操作中,鍵入Sub TEST後按下Enter,相對應的結束語End Sub會自動鍵入。

  Sub與End Sub中間就可以自由設計指令了。編寫完成後按下上方工具列的橫三角形<執行>,會執行現在插入游標所在(如果沒有,則從第一支)程式。

  為了準確執行,指令應有詳盡規範,但沒有(或可以省略)的時候,表示有默認。這裡的範例我用訊息視窗指令:MsgBox。指令成功的話,會在Excel檔案中彈跳出訊息視窗,顯示出在後台設定的訊息內容。


4.執行後彈跳出測試用訊息視窗,表示順利執行。

4.執行後彈跳出測試用訊息視窗,表示順利執行。


  範例中的編碼如下:

Sub TEST()

MsgBox ("Hello")

End Sub

  另外,VBA中若為指令,則無視鍵入時的大小寫,一律會自動跳成指令預設的樣子,無須費神切換。


  MsgBox指令的引數全文如下:

MsgBox ( [prompt] [,buttons] [,title] [,helpfile, context] )

  指令後的引數設定了指令會如何呈現。引數如下:

  • prompt:不可省略,為訊息視窗的顯示訊息內文。
  • buttons:可省略,指定訊息視窗的按鈕種類與類型(OK, Yes/No, OK/Cancel等等。)
  • title:可省略,指定訊息視窗的標題。
  • helpfile、context:可省略,如按鈕種類指定Help,可指定該按鈕鏈接的Microsoft內建Help檔案。如指定helpfile,則context亦必須指定。


  詳細引數本節先按下不表,但能先大略理解指令與引數之間的相互關係,以及執行後的呈現樣子。

  範例中僅指定了prompt引數(即訊息內文,)因為純文字,須以雙括號""夾註。按下上方功能表的<執行>後,可以看見訊息視窗按照指令彈出。




3.曲終人散,存檔明天再來


  到了要存檔的時候了。VBA編輯頁面上方的功能表中有存檔標誌,點擊後會同時儲存目前編寫的VBA與Excel檔本身。

  不過默認的副檔名格式(.xlsx)無法儲存帶有VBA的Excel檔,需要設定存檔類型為「啟用巨集的活頁簿」(.xlsm)。

5.存檔。

5.存檔。


  下班了,明天見。




28會員
130Content count
寫日常雜記,寫觀後感
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
EXCEL在撰寫函數時,一定會常常遇到一些錯誤的結果 例如:#NA、#VALUE、#NUM、#NULL、#NAME、#REF、#DIV/0!等 例如下面GIF圖,A/B如果B是0就會出現#DIV/0!,這個錯誤的意思就是0不能當除數。 這些錯誤目的就是要告訴我們,你寫的函數所產生的結果有一點
Thumbnail
EXCEL中查詢函數想必第一個想到的就是VLOOKUP,再來就是INDEX與MATCH兩兄弟,但是這些函數都只能回傳一筆資料,如果一個條件有很多結果需要回傳呢?又沒有365的FILTER,這時就要使用大名鼎鼎的萬金油函數。 什麼式萬金油函數呢?主要是這個公式由IF、SMALL、INDEX、ROW所
Thumbnail
EXCEL日期自動標示其實有很多種不同的狀況,上次分享的動態標示指定日期的儲存格也是其中一種狀況,這次粉絲提出另一種狀況,他想要標示前30天與後30天的所有日期的資料,當然沒問題馬上安排!! 第一步 選擇資料範圍 點選常用 條件式格式設定 新增規則 第二步 點選使用公式來決定要格式化那些儲存格 輸入
Thumbnail
Excel有個極其實用的工具VBA,讓我們透過語法撰寫對Excel下指令,雖然UiPath也有內建Excel相關功能,不過相較之下VBA可處理更多精細且完整的活動,因此我們在用UiPath開發流程時,可使用Invoke VBA功能呼叫Excel檔案中已撰寫好的VBA語法!
Thumbnail
常有朋友詢問到對於EXCEL VBA或Google sheet 做投資理財有興趣該怎麼入門? 常有人說,威利是工科才會這些東西,不過會這些東西跟學歷工作沒什關係,工作上也不會有人教學 發自內心的自學才是最好的導師。 有興趣要入門的話可以推薦幾本書: EXCEL學習 GoogleSheet教學參考
Thumbnail
Excel VBA 簡單的網頁爬蟲
Thumbnail
https://www.youtube.com/watch?v=AUq-BqPG500 程式執行只有配樂展示,無講話 前言: 這次跟大家分享一下怎麼用EXCEL VBA抓取Goodinfo中,經營績效理不同分頁的資料,如上圖。 文後會附上程式範例給大家做參考。 4.資料整理,欄位定位。
Thumbnail
這篇是記錄一下透過VBA抓取goofinfo股息跟報價的方式。適合對VBA做投資工具設計有興趣的朋友閱讀,因為這個比較進階,有興趣再研究。
Thumbnail
開啟F12開發人工具 取得CSV下載網址 利用巨集協助編寫簡易程式
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
EXCEL在撰寫函數時,一定會常常遇到一些錯誤的結果 例如:#NA、#VALUE、#NUM、#NULL、#NAME、#REF、#DIV/0!等 例如下面GIF圖,A/B如果B是0就會出現#DIV/0!,這個錯誤的意思就是0不能當除數。 這些錯誤目的就是要告訴我們,你寫的函數所產生的結果有一點
Thumbnail
EXCEL中查詢函數想必第一個想到的就是VLOOKUP,再來就是INDEX與MATCH兩兄弟,但是這些函數都只能回傳一筆資料,如果一個條件有很多結果需要回傳呢?又沒有365的FILTER,這時就要使用大名鼎鼎的萬金油函數。 什麼式萬金油函數呢?主要是這個公式由IF、SMALL、INDEX、ROW所
Thumbnail
EXCEL日期自動標示其實有很多種不同的狀況,上次分享的動態標示指定日期的儲存格也是其中一種狀況,這次粉絲提出另一種狀況,他想要標示前30天與後30天的所有日期的資料,當然沒問題馬上安排!! 第一步 選擇資料範圍 點選常用 條件式格式設定 新增規則 第二步 點選使用公式來決定要格式化那些儲存格 輸入
Thumbnail
Excel有個極其實用的工具VBA,讓我們透過語法撰寫對Excel下指令,雖然UiPath也有內建Excel相關功能,不過相較之下VBA可處理更多精細且完整的活動,因此我們在用UiPath開發流程時,可使用Invoke VBA功能呼叫Excel檔案中已撰寫好的VBA語法!
Thumbnail
常有朋友詢問到對於EXCEL VBA或Google sheet 做投資理財有興趣該怎麼入門? 常有人說,威利是工科才會這些東西,不過會這些東西跟學歷工作沒什關係,工作上也不會有人教學 發自內心的自學才是最好的導師。 有興趣要入門的話可以推薦幾本書: EXCEL學習 GoogleSheet教學參考
Thumbnail
Excel VBA 簡單的網頁爬蟲
Thumbnail
https://www.youtube.com/watch?v=AUq-BqPG500 程式執行只有配樂展示,無講話 前言: 這次跟大家分享一下怎麼用EXCEL VBA抓取Goodinfo中,經營績效理不同分頁的資料,如上圖。 文後會附上程式範例給大家做參考。 4.資料整理,欄位定位。
Thumbnail
這篇是記錄一下透過VBA抓取goofinfo股息跟報價的方式。適合對VBA做投資工具設計有興趣的朋友閱讀,因為這個比較進階,有興趣再研究。
Thumbnail
開啟F12開發人工具 取得CSV下載網址 利用巨集協助編寫簡易程式