[VBA] 使用 Excel VBA + Google Map API 自動計算兩個地點的距離、時間、油錢與最佳路徑

[VBA] 使用 Excel VBA + Google Map API 自動計算兩個地點的距離、時間、油錢與最佳路徑

更新於 發佈於 閱讀時間約 3 分鐘

問題:

前幾天,LINE 某 VBA 社群網友問到一個有關 如何在 Excel 中輸入起迄地址就能自動算出里程數 ?


當然 LINE 某 VBA 社群裡的大神們紛紛提供了很多很棒的解決方法,像:《 運用爬蟲,開啟 Google Map,輸入兩個地址,然後取得里程數 》、《 利用網路資料 GAS 寫出的自定義函數 》、《 使用 Google Map API 來做串接 》...等等。




靈感:

受到了《 利用網路資料 GAS 寫出的自定義函數 》這一篇的啟發,也想利用 Excel VBA 來做一個功能較多且較全面的設計,然而就卡在 Google Map API ,一直以來都認為 API 是程式高手在使用的東西,平常我是不可能去接觸這個的。

然而回想起之前 Meiko 老師有提到 ChatGPT 可以在 Excel 內直接使用,方法就是透過 API 來達成 ! Excel教學 E83| 在Excel內直接使用ChatGPT | 介接Openai API | AI輔助辦公室應用系列(3)

所以,為了群友的問題,想說還是硬著頭皮跟著 Meiko 老師來學習,再搭配 ChatGPT o1 pro 的大力助攻下,終於完美的達成這個【不可能的任務】!!


輸入【起、迄、油耗、出發日期時間】 與 挑選【交通工具】

輸入【起、迄、油耗、出發日期時間】 與 挑選【交通工具】


自動顯示【尖峰時間 / 離峰時間、距離、油錢、時間】 與 【最佳路徑】

自動顯示【尖峰時間 / 離峰時間、距離、油錢、時間】 與 【最佳路徑】


執行結果比對

執行結果比對


很感謝群友的【vocus 留言小卡】的支持 !!
如有使用上的問題,請不用客氣發問,我會盡我最大的力量來做回覆 !!




詳細說明與下載,請參考以下連結:

免費檔案




彩蛋

做你沒做過的事叫成長;
做你不願意的事叫改變;
做你不敢做的事叫突破。




參考文獻

  1. Meiko微課頻道 - Excel教學 E83| 在Excel內直接使用ChatGPT | 介接Openai API | AI輔助辦公室應用系列(3)
  2. Google 試算表加 Google 地圖函式,自動計算行程距離、時間與地址
    https://www.playpcesor.com/2020/08/Google-Maps-Formulas-for-Google-Sheets.html
  3. Google Cloud
  4. ChatGPT o1 pro




以上就是這次的分享,請持續關注  和 Meiko微課頻道,謝謝大家 ~




有任何問題,請到【opa的沙龍】【Excel VBA 情境學習】一起討論有關 VBA 的問題,或加入 LINE社群 Meiko微課小綠群(粉絲交流群),歡迎您的加入。


內容總結
GoogleMapAPI
5
/5
avatar-img
Meiko微課頻道的沙龍
146會員
47內容數
Meiko微課頻道主要以辦公室應用為出發點,針對上班族群所遇到的問題進行分享
留言
avatar-img
留言分享你的想法!
本篇文章分享如何使用 Excel VBA 程式碼去除 Excel 儲存格裡文字或英文句子前後的空白,提供【基礎版】和【進階版】兩種 VBA 程式碼範例,並比較其功能差異。進階版程式碼可以保留句子中間的空白,只去除句子頭尾的空白。文章也包含程式碼下載連結以及相關參考資源。
5/5UNICHAR160
在 Excel VBA 中,使用 ActiveSheet.ShowAllData 方法顯示篩選過的數據時,可能會遇到錯誤。如果當前沒有篩選條件而直接調用此方法,將導致執行錯誤。本文介紹檢查篩選狀態,來安全地使用 ShowAllData。還探討了使用 On Error Resume Next 的風險。
5/5ActiveSheet.ShowAllData
在這篇文章中,探討 Meiko 老師如何使用 Power Query 在 Excel 中自動篩選非重複記錄。從早期的 Excel 2003 版本到今天的 Office 365,讓效率提高。分享了創新思維的培養以及使用 ChatGPT 來開發 Excel VBA 的優勢並提供了寶貴的見解和檔案下載。
5/5非重複
本篇文章分享如何使用 Excel VBA 程式碼去除 Excel 儲存格裡文字或英文句子前後的空白,提供【基礎版】和【進階版】兩種 VBA 程式碼範例,並比較其功能差異。進階版程式碼可以保留句子中間的空白,只去除句子頭尾的空白。文章也包含程式碼下載連結以及相關參考資源。
5/5UNICHAR160
在 Excel VBA 中,使用 ActiveSheet.ShowAllData 方法顯示篩選過的數據時,可能會遇到錯誤。如果當前沒有篩選條件而直接調用此方法,將導致執行錯誤。本文介紹檢查篩選狀態,來安全地使用 ShowAllData。還探討了使用 On Error Resume Next 的風險。
5/5ActiveSheet.ShowAllData
在這篇文章中,探討 Meiko 老師如何使用 Power Query 在 Excel 中自動篩選非重複記錄。從早期的 Excel 2003 版本到今天的 Office 365,讓效率提高。分享了創新思維的培養以及使用 ChatGPT 來開發 Excel VBA 的優勢並提供了寶貴的見解和檔案下載。
5/5非重複