excel窗体文本框要求只能输入数值,VBA代码如何写?
我是一名银行工作都,现正在制作一个实用数据处理小程序,制作后在调试过程中出现,若当前输入法为中文,若打小数点即变为句号,以至计算错误,诚请各位好友给予帮助,具体要求如下:...
我是一名银行工作都,现正在制作一个实用数据处理小程序,制作后在调试过程中出现,若当前输入法为中文,若打小数点即变为句号,以至计算错误,诚请各位好友给予帮助,具体要求如下:
1、文本框内最多只能输入两位小数;
2、无论系统当前输入法为中文、英文、全角或是半角状态,不用切换输入法均能正常输入数值,且小数不变为句号。
如将UserForm1 中TextBox1 中数据写入sheet2 的“A1”单元,该代码具体怎么写。 展开
1、文本框内最多只能输入两位小数;
2、无论系统当前输入法为中文、英文、全角或是半角状态,不用切换输入法均能正常输入数值,且小数不变为句号。
如将UserForm1 中TextBox1 中数据写入sheet2 的“A1”单元,该代码具体怎么写。 展开
3个回答
展开全部
Private Sub CommandButton1_Click()
Dim i As Double
i = Format(Replace(TextBox1.Value, "。", "."), "0.00")
Sheet2.Range("A1").Value = i
End Sub
此代码不管你textbox1输入的是句号还是点,都将变成点。四舍五入保留两位小数。
Dim i As Double
i = Format(Replace(TextBox1.Value, "。", "."), "0.00")
Sheet2.Range("A1").Value = i
End Sub
此代码不管你textbox1输入的是句号还是点,都将变成点。四舍五入保留两位小数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想应该不只是"。"号, 别的也有可能,所以最好是判断是否是数值
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
if isnumeric(TextBox1.text) then
Range("A1").Value = TextBox1.text
end if
End If
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
if isnumeric(TextBox1.text) then
Range("A1").Value = TextBox1.text
end if
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询