【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定




Excel VBA有時不名原因亂碼,贊贊小屋個人遇到過,也有讀書來信詢問。這個可能是非Unicode程式語言無法支援相容所造成,本文介紹調整Windows地區語言的設定解決。

一、VBA亂碼

個人曾經遇過幾次VBA編輯環境出現亂碼的情形,仔細看是中文字出問題。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第1張

二、Excel正常

回到Excel畫面,卻是完全正常。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第2張

三、Windows設定

這情形很有可能是Windows系統無法有效顯示應用程式的文字,到「Windows設定」這裡,選擇「時間與語言」。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第3張

四、日期和時間

「時間與語言」裡切到「日期和時間」頁籤,最右邊「相關設定」點選「日期、時間及地區格式設定」。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第4張

五、控制台

進入傳統舊版的Windows控制台,「時鐘和區域」的「地區」裡點選「變更日期、時間或數字格式」。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第5張

六、系統管理

「地區」視窗切換到「系統管理」,下面「非Unicode程式的語言」中點擊「變更系統地區設定」。這裡有一行說明文字:「不支援Unicode的程式顯示文字時」,由此可以得到一些線索,VBA亂碼可能是它不支援Unicode,在簡體中文環境無法正常顯示繁體中文。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第6張

七、系統地區設定

「地區設定」中將下拉菜單選擇「中文(繁體,台灣)。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第7張

八、重新啟動

通常更改WIndows系統基本設定都需要重新啟動,這裡也不例外。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第8張

九、VBA正常顯示

電腦重開機後再開啟Excel檔案進入VBA,正常顯示了。

【Excel VBA】為什麼亂碼?也許是非Unicode程式語言,試看看調整Windows系統設定 VBA自動化 第9張

 

贊贊小屋第一次遇到VBA亂碼情形是使用蘋果電腦MacBook Air,,當時用VirtualBox平行使用Windows XP系統的Office Excel,Excel本身沒有遇到過問題,進入VBA會有亂碼。那時候可能有點心虛,認為是蘋果電腦虛擬Windows系統所造成的,後來一直以為VBA亂碼無法解決。

過了好一陣子,有一次因為工作需要,安裝簡體版本的軟體,直接是無法安裝,而且一開始跳出的畫面是亂碼,我突然有個靈感,直覺判斷是系統語言不相容的緣故,依照這篇文章調整之後,竟然很神奇的可以安裝了,安裝過後即使切回到繁體中文環境,簡體應用程式仍然可以正常使用。

安裝簡體程式的經驗給我啟發,最近又有一次遇到VBA亂碼,我鎮定的切換系統語言,於是,長來以來遇到就投降的問題輕鬆解決!






當前文章延伸閱讀:
VBA自動化