我使用具有電池的Excel文件包含°C符號與其他字符串(如.. -40°C )如何在數據庫中顯示Excel中的°C符號?
,我試圖使用來獲取單元格的值
Dim strIn As String
strIn = Range("B2").Text
所有工作的罰款,並〜應變的值是「-40°C」,但一旦我改變了我的區域設置如下..
它開始顯示〜應變值「-40?C」
0°符號隨着?
在此先感謝您的幫助.. Liyo何塞。
我使用具有電池的Excel文件包含°C符號與其他字符串(如.. -40°C )如何在數據庫中顯示Excel中的°C符號?
,我試圖使用來獲取單元格的值
Dim strIn As String
strIn = Range("B2").Text
所有工作的罰款,並〜應變的值是「-40°C」,但一旦我改變了我的區域設置如下..
它開始顯示〜應變值「-40?C」
0°符號隨着?
在此先感謝您的幫助.. Liyo何塞。
一個快速解決方案是將「?」符號在字符串中。像
strIn = Replace(strIn, "?", "°")
的聲明應該解決您的問題
這是在VBA IDE的限制。它只能顯示總共255個不同的字符(其中一些不可打印)。這將是標準Ansii的前128個字符,然後剩下的將由您的區域設置中的代碼決定。
VBA顯示?因爲它不能顯示°(因爲°不在您的設置的字符代碼列表中)。當你瀏覽你的其他代碼時,它應該像你期望的那樣執行,並且正確地讀取你的表單。
如果你想在VBA中使用°,你需要使用它的字符代碼。從我的測試中,您至少可以在我的電腦上通過Chrw(176)
生成它(是的,我確實已將您的區域設置更改爲泰文)。要檢查代碼,您可以通過循環來運行它們。現在正如我之前所說,IDE將顯示?,但Excel將顯示°。
您可以通過在你的代碼運行這個測試證實了這一點:
debug.print Instr(strIn, "?")
'Should be 0
debug.print Instr(strIn, chrw(176))
'Should be 4
假設你的象徵將永遠不會的東西,可以影響價值,val
應該給你,你是後的數據。
示例數據:
text val() 40°C 40 40?C 40 40%C 40 40C 40
由於丹尼爾對於這樣的詳細解釋和嘗試..其實我有一個記錄設定在我有包含-40℃,-60℃等的字符串和我使用dataSheet.Range(dataSheet.Cells(lastRow + 1,1),dataSheet.Cells(lastRow + 1,1))。CopyFromRecordset allData用於將recorset寫入excel表單,但即使在excel表單中,它也呈現爲 -40?C – Leo