我有一個用戶表單,可以將 TextBoxes 的值插入 Excel 作業表的單元格中。如果有人輸入例如“4.4”而不是“4,4”,我想用逗號自動替換點。我正在使用以下代碼,但不知何故沒有任何反應,單元格值仍然包含點而不是逗號。
Private Sub CmdFinish1_Click()
Worksheets("1").Range("C10").Value = UserForm.TextBox1.Value & "mm"
Range("C10").Select
Range("C10").Activate
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
UserForm.Hide
End Sub
uj5u.com熱心網友回復:
我不確定為什么您的代碼不起作用,但讓我們使用純 VBA 進行替換:
Private Sub CmdFinish1_Click()
Worksheets("1").Range("C10").Value = UserForm.TextBox1.Value & "mm"
Range("C10").Value = Replace(Range("C10").Value, ".", ",")
UserForm.Hide
End Sub
uj5u.com熱心網友回復:
如果這是@VincentG 建議的語言環境。
您可以為單元格提供自定義數字格式#,##0.00 "mm"- 我不確定您所在地區的正確格式,但我從可用格式中選擇了一個并添加"mm"到最后。
然后可以將您的代碼更改為:
Private Sub CommandButton1_Click()
Worksheets("1").Range("C10").Value = Val(UserForm.TextBox1.Value)
End Sub
該VAL打開文本輸入一個數值。如果您輸入實際文本,則會拋出錯誤 -A例如,因此不會接受。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/371434.html
上一篇:VLOOKUP,或索引/匹配?
