excel窗体文本框要求只能输入数值,VBA代码如何写?

我是一名银行工作都,现正在制作一个实用数据处理小程序,制作后在调试过程中出现,若当前输入法为中文,若打小数点即变为句号,以至计算错误,诚请各位好友给予帮助,具体要求如下:... 我是一名银行工作都,现正在制作一个实用数据处理小程序,制作后在调试过程中出现,若当前输入法为中文,若打小数点即变为句号,以至计算错误,诚请各位好友给予帮助,具体要求如下:
1、文本框内最多只能输入两位小数;
2、无论系统当前输入法为中文、英文、全角或是半角状态,不用切换输入法均能正常输入数值,且小数不变为句号。
如将UserForm1 中TextBox1 中数据写入sheet2 的“A1”单元,该代码具体怎么写。
展开
 我来答
wyf19790923
2011-07-22 · TA获得超过672个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:267万
展开全部

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 13 Then

    TextBox1 = Format(Replace(TextBox1, "。", "."), "0.00")

    [Sheet2].Range("A1").Value = TextBox1

End If

End Sub 

他是要纠正错误,而非查出错误

太极健1969
2011-07-22 · TA获得超过9027个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3486万
展开全部
Private Sub CommandButton1_Click()
Dim i As Double
i = Format(Replace(TextBox1.Value, "。", "."), "0.00")
Sheet2.Range("A1").Value = i
End Sub
此代码不管你textbox1输入的是句号还是点,都将变成点。四舍五入保留两位小数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友518c63c
2011-07-22 · TA获得超过246个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:178万
展开全部
我想应该不只是"。"号, 别的也有可能,所以最好是判断是否是数值
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式