2016-10-05 19 views
2

我的問題很簡單: 我想要做的就是將「%」符號添加到包含數字數據的單元格中。 這裏是我寫的代碼:將%符號轉換爲vba中的字符串

Private Sub CommandButton21_Click() 

With Range("B11") 
    .Select 
    .Value = [B11] & ChrW(U + 37) 
End With 


End Sub 

結果我得到的是,該數值數據被除以100,無法添加%符號。我試圖用「%」代替ChrW(U + 37),但它不起作用。 我很新vba,所以我需要所有的幫助,我可以得到!

+0

做得一樣的格式,而不是價值的一部分。 – jonrsharpe

+0

@jonrsharpe所以我需要更改.value for .format? –

回答

3

使用Cells(1, 5).NumberFormat = "0.00%",Range("B11").NumberFormat = "0.00%"[B11].NumberFormat = "0.00%"更改單元格的格式,而不是嘗試將字符添加到數字。您可能需要將0.00更改爲適合您需要的任何其他格式類型。

你提到數據是數字的,如果你在計算中使用它,你可能想保持這種方式,改變格式應該是你的選擇。

+0

只是要知道,當您將格式從常規更改爲百分比時,它將值乘以100,因此1 = 100%。如果你有10個單元格,並希望將其直接轉換爲10%,則首先將數據除以100: '[d1] .Value = [d1] .Value/100' '[d1] .NumberFormat =「0.00% 「' – Pav

+0

thas was the fella!...乾杯隊友! –

0

關於你的代碼,你可能需要這樣的事:

[h6]= cstr([h6].text & ChrW(U + 37)) 

然而,它只是增加了H6的象徵。

+0

然而,這將改變你的數據,你的數字,你有一個字符串 – Pav

1

使用下面的代碼,測試,併爲我工作得很好:

Sub Button1_Click() 
    Sheet1.Cells(11, 2).Value = 200 
    Sheet1.Cells(11, 2).NumberFormat = "0.00%" 
End Sub 
+0

有點遲了,請檢查答案發布前 – Pav

+0

頁面沒有刷新檢查答案,除了張貼不傷害,所以它不是一個競爭夥計 –