2016-08-18 61 views
3

我已經在VBA中編寫了簡單的代碼(並且看到了問題herehere,並且這些解決方案都不起作用)。更改VBA中的小數點分隔符

  Dim toString As String 
      toString = cell.Value & "_" 
       If (InStr(toString, ",")) Then 
       toString = Replace(toString, ",", ".") 
       toString = Trim(toString) 
       cell.Value = " " + Left(toString, (Len(toString) - 1))    
       End If 

不幸的是,而不是帶點分隔符的字符串,excel讓我在cell.Value中逗號加倍。奇怪的是,當我用「_」交換這個空格時,它轉換f。恩。 12,3進入_12.3。我該如何解決它?

P.S.我在結尾添加「_」以確保toString將保持爲String。

+0

這條線應該做什麼? 'cell.Value =「」+ Left(toString,(Len(toString) - 1))' – Andreas

+0

@Andreas首先看起來如此:'cell.Value = Left(toString,(Len(toString)-1))'但我發現cell.Value變成了double,所以我試圖添加一個空格來將它轉換成字符串,但沒有成功。 – lawstud

回答

2

我以前有過這個問題。在寫入之前,您需要更改單元格的格式。該線路運行

Application.Workbooks("Book1").Sheets("Sheet1").Range("A1:A100").NumberFormat = "@" 

以後,就可以寫這樣的列:

Cells(1,1).Value = "12.3" 

Excel將保持字符串格式化,而不是將其轉換爲雙。

希望這會有所幫助。

+0

它的工作原理!謝謝 :) – lawstud

相關問題