我一直在寻找解决方案,并且一直没有成功找到。基本上,我让我的文档的用户在用户表单中填充字段,然后我的代码放入适当的单元格中。其中一个输入字段是一个数字但是,无论我如何指示excel格式化单元格,它仍然是文本到底,我无法执行任何计算。我相信这可能是一个非常简单的修复,但到目前为止我找不到解决办法。一如往常,任何帮助表示赞赏!
谢谢!
答案 0 :(得分:9)
在将值放入单元格之前,需要将值从文本转换为数字类型。
假设您的文本框名为txtNumber
并且您正在输出到单元格Output!A1
,则代码为:
Sheets("Output").Range("A1") = CDbl(txtNumber)
您可能想要使用的其他转换函数是CLng
(转换为Long),CInt
(转换为整数),CDec
(转换为十进制,对货币值有用)。
如果用户在字段中键入非数字文本值,则此代码将引发错误。您应该在文本框的“更改”事件上进行验证,并在输入无效数据时禁用“确定”按钮。