VBA用户表单。文本框作为单元格的值

时间:2014-04-03 15:01:53

标签: vba excel-vba excel

我一直在寻找解决方案,并且一直没有成功找到。基本上,我让我的文档的用户在用户表单中填充字段,然后我的代码放入适当的单元格中。其中一个输入字段是一个数字但是,无论我如何指示excel格式化单元格,它仍然是文本到底,我无法执行任何计算。我相信这可能是一个非常简单的修复,但到目前为止我找不到解决办法。一如往常,任何帮助表示赞赏!

谢谢!

1 个答案:

答案 0 :(得分:9)

在将值放入单元格之前,需要将值从文本转换为数字类型。

假设您的文本框名为txtNumber并且您正在输出到单元格Output!A1,则代码为:

Sheets("Output").Range("A1") = CDbl(txtNumber)

您可能想要使用的其他转换函数是CLng(转换为Long),CInt(转换为整数),CDec(转换为十进制,对货币值有用)。

如果用户在字段中键入非数字文本值,则此代码将引发错误。您应该在文本框的“更改”事件上进行验证,并在输入无效数据时禁用“确定”按钮。