<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>VBA on G. T. Wang</title>
    <link>https://blog.gtwang.org/tags/vba/</link>
    <description>Recent content in VBA on G. T. Wang</description>
    <generator>Hugo -- 0.162.0</generator>
    <language>zh-tw</language>
    <copyright>G. T. Wang</copyright>
    <lastBuildDate>Sun, 09 May 2021 10:51:25 +0800</lastBuildDate>
    <atom:link href="https://blog.gtwang.org/tags/vba/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Excel VBA 列出目錄中所有檔案、子目錄教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-list-files-folders-in-directory-tutorial-examples/</link>
      <pubDate>Sun, 09 May 2021 10:51:25 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-list-files-folders-in-directory-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何在 Excel 中使用 VBA 巨集程式自動列出指定目錄中的所有檔案與子目錄列表，包含檔案名稱、路徑、大小、類型、修改日期等資訊。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;列出目錄中所有檔案&#34;&gt;列出目錄中所有檔案&lt;/h2&gt;
&lt;p&gt;若要在 Excel 的 VBA 巨集中，列出指定目錄之下的所有檔案，可以使用 &lt;a href=&#34;https://docs.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/filesystemobject-object&#34;&gt;FileSystemObject 物件&lt;/a&gt;建立一個&lt;a href=&#34;https://docs.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/folder-object&#34;&gt;目錄物件&lt;/a&gt;，再以迴圈逐一對目錄中的每一個&lt;a href=&#34;https://docs.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/file-object&#34;&gt;檔案物件&lt;/a&gt;進行處理：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 將資料匯出成 CSV 檔案教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-export-excel-as-csv-file-tutorial-examples/</link>
      <pubDate>Sat, 08 May 2021 17:17:41 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-export-excel-as-csv-file-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何在 Excel 中使用 VBA 巨集將表格資料匯出為逗點分隔（csv）檔案。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;另存為-csv-檔案&#34;&gt;另存為 CSV 檔案&lt;/h2&gt;
&lt;p&gt;若要將指定的工作表另存為 CSV 檔案，可以在選擇工作表之後，將工作表先複製到新的活頁簿中，再使用 &lt;a href=&#34;https://docs.microsoft.com/zh-tw/office/vba/api/excel.workbook.saveas&#34;&gt;Workbook.SaveAs 方法&lt;/a&gt;將活頁簿另存為 CSV 檔案：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA Range.Sort 範圍排序教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-range-sort-tutorial-examples/</link>
      <pubDate>Tue, 24 Nov 2020 20:26:12 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-range-sort-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何在 Excel VBA 中針對指定範圍，依據指定的欄位與條件進行資料的排序。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;假設我們的原始資料如下：&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;原始資料&#34; loading=&#34;lazy&#34; src=&#34;https://blog.gtwang.org/excel/excel-vba-range-sort-tutorial-examples/excel-vba-range-sort-tutorial-examples-20201124-01.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;基本排序&#34;&gt;基本排序&lt;/h2&gt;
&lt;p&gt;若單純只是要依據姓名（或其他單一欄位）來排序，只要指定資料範圍，並以 &lt;code&gt;Key1&lt;/code&gt; 指定排序依據的欄位，即可進行資料的排序：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA Find 搜尋資料、關鍵字教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-range-find-tutorial-examples/</link>
      <pubDate>Tue, 17 Nov 2020 20:03:26 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-range-find-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何在 Excel 使用 VBA 的 &lt;code&gt;Range.Find&lt;/code&gt; 方法尋找特定的資料或關鍵字等。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;這個 Excel 中包含了臺灣證券交易所&lt;a href=&#34;https://data.gov.tw/dataset/11549&#34;&gt;上市個股日成交資訊&lt;/a&gt;，以下將示範如何使用 Excel VBA 程式搜尋其中的資料。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;上市個股日成交資訊&#34; loading=&#34;lazy&#34; src=&#34;https://blog.gtwang.org/excel/excel-vba-range-find-tutorial-examples/excel-vba-range-find-tutorial-examples-20201117-01.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;搜尋關鍵字&#34;&gt;搜尋關鍵字&lt;/h2&gt;
&lt;p&gt;假設我們想在證卷名稱這一欄中尋找含有「國泰」的儲存格，可以使用以下的 VBA 程式，先決定搜尋的範圍之後，再使用 &lt;code&gt;FIND&lt;/code&gt; 尋找：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA MsgBox 函數用法教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-msgbox-function-tutorial-examples/</link>
      <pubDate>Wed, 29 Jul 2020 19:00:30 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-msgbox-function-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何在 Excel VBA 中使用 &lt;code&gt;MsgBox&lt;/code&gt; 建立各種對話方塊視窗，顯示文字訊息以及按鈕。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;顯示文字訊息&#34;&gt;顯示文字訊息&lt;/h2&gt;
&lt;p&gt;將一般的文字訊息傳入&lt;code&gt;MsgBox&lt;/code&gt; 即可以視窗的方式顯示該訊息：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 產生隨機亂數教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-rnd-random-number-generation-tutorial/</link>
      <pubDate>Thu, 26 Mar 2020 20:40:30 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-rnd-random-number-generation-tutorial/</guid>
      <description>&lt;p&gt;介紹如在 Excel VBA 中使用 &lt;code&gt;Rnd&lt;/code&gt; 函數產生隨出的亂數。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;rnd-函數&#34;&gt;&lt;code&gt;Rnd&lt;/code&gt; 函數&lt;/h2&gt;
&lt;p&gt;VBA 的 &lt;code&gt;Rnd&lt;/code&gt; 函數可以產生介於 &lt;code&gt;0&lt;/code&gt; 到 &lt;code&gt;1&lt;/code&gt; 的隨機亂數（大於或等於 &lt;code&gt;0&lt;/code&gt; 且小於 &lt;code&gt;1&lt;/code&gt;）。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-vba&#34; data-lang=&#34;vba&#34;&gt;&amp;#39; 產生 0 &amp;lt;= x &amp;lt; 1 的亂數
RandNum = Rnd()
MsgBox (&amp;#34;亂數：&amp;#34; &amp;amp; RandNum)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt=&#34;產生介於 0 到 1 之間的隨機亂數&#34; loading=&#34;lazy&#34; src=&#34;https://blog.gtwang.org/excel/excel-vba-rnd-random-number-generation-tutorial/excel-vba-rnd-random-number-generation-tutorial-20200326-01.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA InputBox 資料輸入對話方塊使用教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-inputbox-tutorial-examples/</link>
      <pubDate>Fri, 04 Oct 2019 09:35:22 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-inputbox-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何在 Excel 中使用 VBA 的 &lt;code&gt;InputBox&lt;/code&gt; 資料輸入對話方塊，建立視窗讓使用者輸入資料。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;inputbox-資料輸入對話方塊&#34;&gt;&lt;code&gt;InputBox&lt;/code&gt; 資料輸入對話方塊&lt;/h2&gt;
&lt;p&gt;在 VBA 程式中如果需要要求使用者即時輸入資料，可以使用 &lt;code&gt;InputBox&lt;/code&gt; 建立一個對話方塊，讓使用者直接輸入：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 尋找表格最後一欄、最後一列、最右下角教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-find-row-column-cell-tutorial-examples/</link>
      <pubDate>Thu, 19 Sep 2019 19:29:49 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-find-row-column-cell-tutorial-examples/</guid>
      <description>&lt;p&gt;使用 VBA 巨集程式找出 Excel 表格的最後一欄、最後一列或最右下角，判斷有資料的範圍。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;在開發 VBA 巨集程式時，判斷 Excel 工作表中有資料的範圍是很常遇到的問題。假設我們有一張 Excel 資料表格如下，該如何使用 VBA 程式自動找出資料的最後一列以及最後一行？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 陣列泡沫排序教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-array-bubble-sort-function-tutorial-examples/</link>
      <pubDate>Thu, 12 Sep 2019 10:14:18 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-array-bubble-sort-function-tutorial-examples/</guid>
      <description>&lt;p&gt;使用自己定義的泡沫排序法 VBA 函數，處理陣列排序問題。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;對於普通陣列的排序而言，快速排序法是效率最高的排序方法（實作請參考 &lt;a href=&#34;https://blog.gtwang.org/excel/excel-vba-array-quick-sort-function-tutorial-examples/&#34;&gt;Excel VBA 快速排序教學&lt;/a&gt;），但是快速排序法的演算法牽涉到遞迴，如果想要進行客製化的修改，就比較不方便。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 陣列快速排序教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-array-quick-sort-function-tutorial-examples/</link>
      <pubDate>Thu, 12 Sep 2019 08:19:04 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-array-quick-sort-function-tutorial-examples/</guid>
      <description>&lt;p&gt;自行定義快速排序演算法 VBA 巨集函數，處理各種陣列排序問題。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;在 Excel VBA 中並沒有提供陣列排序的函數可用，如果想要對陣列的元素進行排序，可以自己定義一個&lt;a href=&#34;https://zh.wikipedia.org/zh-tw/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F&#34;&gt;快速排序演算法&lt;/a&gt;函數來處理。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python 呼叫 Excel VBA 自動化執行巨集程式教學與範例</title>
      <link>https://blog.gtwang.org/excel/python-call-execute-excel-vba-macro-tutorial-example/</link>
      <pubDate>Wed, 11 Sep 2019 08:15:32 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/python-call-execute-excel-vba-macro-tutorial-example/</guid>
      <description>&lt;p&gt;使用 Python 的 &lt;code&gt;pywin32&lt;/code&gt; 模組，串接 Excel VBA 巨集程式，自動化執行大量程式。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;Python 是一種很適合用來串接各種組件，進行系統整合的程式語言，如果我們有許多 Excel 的 VBA 巨集程式，想要讓它們可以自動化執行，就可以考慮使用 Python 來處理。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 建立目錄 MkDir 函數教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-mkdir-function-tutorial-examples/</link>
      <pubDate>Thu, 25 Jul 2019 09:23:34 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-mkdir-function-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何使用 Excel VBA 的 &lt;code&gt;MkDir&lt;/code&gt; 函數建立目錄。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;建立目錄&#34;&gt;建立目錄&lt;/h2&gt;
&lt;p&gt;如果要在 Excel 中以 VBA 巨集程式建立目錄，可以使用 &lt;code&gt;MkDir&lt;/code&gt; 函數，其用法很簡單，呼叫 &lt;code&gt;MkDir&lt;/code&gt; 函數之後，指定目錄的路徑即可。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 檔案目錄選擇對話框使用教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-file-folder-selection-dialog-tutorial/</link>
      <pubDate>Wed, 24 Jul 2019 19:02:51 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-file-folder-selection-dialog-tutorial/</guid>
      <description>&lt;p&gt;介紹如何使用 VBA 的 &lt;code&gt;Application.FileDialog&lt;/code&gt; 建立檔案或目錄選擇對話框，讓使用者以滑鼠選擇檔案或目錄。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;在 VBA 巨集程式中，有時候會需要讓使用者選擇電腦中的檔案或目錄，由於一般的路徑都很長，不太可能讓使用者輸入路徑，正常來說都會以檔案選擇對話方塊的介面，讓使用者直接用滑鼠點選，以下將介紹如何使用 VBA 的 &lt;code&gt;Application.FileDialog&lt;/code&gt; 建立圖形介面（GUI）的檔案或目錄選擇對話框。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 刪除檔案 Kill 函數教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-delete-files-kill-function-tutorial-examples/</link>
      <pubDate>Tue, 23 Jul 2019 08:02:13 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-delete-files-kill-function-tutorial-examples/</guid>
      <description>&lt;p&gt;介紹如何使用 Excel VBA 的 Kill 函數刪除檔案。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;kill-函數用法&#34;&gt;&lt;code&gt;Kill&lt;/code&gt; 函數用法&lt;/h2&gt;
&lt;p&gt;在 Excel VBA 巨集程式中，若想要刪除指定的檔案，可以使用 &lt;code&gt;Kill&lt;/code&gt; 這個函數，其用法如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-vba&#34; data-lang=&#34;vba&#34;&gt;Kill(檔案路徑)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以下是一個實際的刪除檔案範例：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 加速程式執行速度技巧教學</title>
      <link>https://blog.gtwang.org/excel/excel-vba-speed-up-macro-tips/</link>
      <pubDate>Mon, 15 Jul 2019 19:35:29 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-speed-up-macro-tips/</guid>
      <description>&lt;p&gt;介紹各種加速 Excel VBA 程式執行效率的技巧，包含暫停更新畫面與狀態列、暫停事件處理、暫停公式自動計算。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;p&gt;Excel VBA 巨集程式對於處理少量的資料來說，是非常好用的自動化工具，但是如果資料量或計算量非常龐大時，頻繁存取 Excel 試算表的資料，會造成程式效能大幅降低，執行速度變得很慢。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 正規表示法 RegExp 使用教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-regular-expressions-regex-tutorial/</link>
      <pubDate>Tue, 12 Jun 2018 11:51:24 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-regular-expressions-regex-tutorial/</guid>
      <description>&lt;p&gt;本篇介紹如何在 Excel 的 VBA 巨集程式中，使用正規表示法（regular expression）匹配與取代文字。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;正規表示法&#34;&gt;正規表示法&lt;/h2&gt;
&lt;p&gt;正規表示法（regular expression，也稱為常規表示法、正規表示式等）是專門用來匹配、取代文字資料的語法規則，在處理各種複雜的文字處理問題時，正規表示法是不可或缺的工具之一。&lt;/p&gt;</description>
    </item>
    <item>
      <title>VBA 正規表示法 RegExp 編譯錯誤：使用者自訂型態尚未定義解決方法</title>
      <link>https://blog.gtwang.org/excel/vba-regexp-compile-error-user-defined-type-not-defined/</link>
      <pubDate>Mon, 11 Jun 2018 10:34:08 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/vba-regexp-compile-error-user-defined-type-not-defined/</guid>
      <description>&lt;p&gt;啟用 VBA 的「Microsoft VBScript Regular Expressions」引用項目，解決使用正規表示法 &lt;code&gt;RegExp&lt;/code&gt; 時所產生的「使用者自訂型態尚未定義」編譯錯誤。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 移除重複的陣列元素教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-remove-duplicates-from-array-tutorial/</link>
      <pubDate>Mon, 04 Jun 2018 16:48:05 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-remove-duplicates-from-array-tutorial/</guid>
      <description>&lt;p&gt;使用 &lt;code&gt;Dictionary&lt;/code&gt; 或 &lt;code&gt;Collection&lt;/code&gt; 自動刪除陣列中所有重複的元素，只留下不重複的項目。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;假設我們有類似以下這樣的 Excel 表格，原始資料包含許多的項目，各個項目以逗號分隔，其中可能會包含重複的項目，我們想要刪除重複出現的項目，只留下不重複的部分，該怎麼處理？&lt;/p&gt;</description>
    </item>
    <item>
      <title>VBA 的 Dictionary 編譯錯誤：使用者自訂型態尚未定義解決方法</title>
      <link>https://blog.gtwang.org/excel/vba-dictionary-compile-error-user-defined-type-not-defined/</link>
      <pubDate>Sun, 03 Jun 2018 21:58:05 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/vba-dictionary-compile-error-user-defined-type-not-defined/</guid>
      <description>&lt;p&gt;啟用 VBA 的「Microsoft Scripting Runtime」引用項目，解決 &lt;code&gt;Dictionary&lt;/code&gt; 的「使用者自訂型態尚未定義」編譯錯誤。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;在 Excel 的 VBA 巨集程式中使用到 &lt;code&gt;Dictionary&lt;/code&gt; 的變數，執行時會出現「編譯錯誤：使用者自訂型態尚未定義」的錯誤訊息，該如何解決？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 除錯技巧：Debug.Print 與即時運算視窗使用教學</title>
      <link>https://blog.gtwang.org/excel/excel-vba-debug-immediate-window-tutorial/</link>
      <pubDate>Fri, 01 Jun 2018 20:08:50 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-debug-immediate-window-tutorial/</guid>
      <description>&lt;p&gt;使用 VBA 開發環境的即時運算視窗，測試各種臨時的運算，以及輸出除錯訊息，協助開發者測試並找出程式的問題。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;通常我們在撰寫較複雜的程式時，會一次寫一小段，然後逐一測試每一段的執行結果是否正確，如果已經寫好的一小段程式碼執行結果正確，再繼續往下寫，這樣才不會等到全部寫完，執行結果錯誤時，分不清楚是哪裡有問題。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel 建立 VBA 巨集程式教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-create-vba-macro-tutorial/</link>
      <pubDate>Wed, 30 May 2018 14:47:59 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-create-vba-macro-tutorial/</guid>
      <description>&lt;p&gt;使用 Excel 內建的開發人員工具，建立 VBA 巨集程式的步驟教學與範例。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;如何在 Excel 中使用內建的開發人員工具，建立、撰寫並執行自己的 VBA 程式，處理 Excel 中的各種資料？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 使用 Split 函數分割字串、放入陣列教學與範例</title>
      <link>https://blog.gtwang.org/excel/excel-vba-function-split-text-string-tutorial/</link>
      <pubDate>Sun, 27 May 2018 07:02:29 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-function-split-text-string-tutorial/</guid>
      <description>&lt;p&gt;在 Excel 中使用 VBA 的 &lt;code&gt;Split&lt;/code&gt; 函數，將字串依照特定字元切割後，轉換為字串陣列。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;假設我們的原始資料包含了許多的欄位，不同的欄位之間以斜線分隔，該如何將這樣的資料切開，放在個別的儲存格中？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel 啟用「開發人員」工具教學</title>
      <link>https://blog.gtwang.org/excel/excel-show-developer-tab-tutorial/</link>
      <pubDate>Mon, 07 May 2018 07:54:30 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-show-developer-tab-tutorial/</guid>
      <description>&lt;p&gt;啟用 Excel 內建的開發人員工具列，方便編寫 VBA 巨集程式碼。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;如何在工具列中顯示 Excel 內建的開發人員工具，讓開發 VBA 巨集時更方便？&lt;/p&gt;
&lt;h2 id=&#34;解法&#34;&gt;解法&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#34;block-label&#34;&gt;Step 1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;點選「檔案」。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Excel VBA 檢查檔案、目錄是否存在</title>
      <link>https://blog.gtwang.org/excel/excel-vba-check-if-the-file-or-folder-exists/</link>
      <pubDate>Sat, 05 May 2018 12:21:00 +0800</pubDate>
      <guid>https://blog.gtwang.org/excel/excel-vba-check-if-the-file-or-folder-exists/</guid>
      <description>&lt;p&gt;自訂 VBA 檔案、目錄存在檢查函數，在 Excel 中使用公式檢查檔案或目錄是否存在。&lt;/p&gt;
&lt;p&gt;

&lt;ins class=&#34;adsbygoogle&#34;
     style=&#34;display:block&#34;
     data-ad-client=&#34;ca-pub-7794009487786811&#34;
     data-ad-slot=&#34;9921134032&#34;
     data-ad-format=&#34;auto&#34;
     data-full-width-responsive=&#34;true&#34;&gt;&lt;/ins&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;

&lt;h2 id=&#34;問題&#34;&gt;問題&lt;/h2&gt;
&lt;p&gt;假設我們有以下這張 Excel 表格，包含了目錄與檔案的資訊，而我們想要檢查每個目錄下對應的檔案是否存在，在 Excel 中該怎麼做？&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
