在使用表单输入数据时,如何将单元格的格式从文本转换为数字

时间:2017-05-21 19:11:13

标签: forms excel-vba vba excel

我正在创建一个表格,将数据输入我的Excel工作表。我一直遇到的问题是输入的信息是一个数字,但是当运行表单“保存”按钮的VBA代码时,我输入表单的数据将作为文本放入Excel工作表中。这导致行末的公式没有注册数据(一个简单的=sum(...)公式)。我尝试了一些不同的选项并且已经四处寻找解决方案,但所有接近的答案都是从外部源导入数据。

这是将从表单接收数据的单个单元格的代码。会有更多,但我认为这将提供足够的信息。除了range("").select更改之外,代码中几乎没有其他内容,然后在每个新选择中从不同的文本框中提取数据。

Private Sub butSaveData_Click()

    Sheet1.Activate

    Range("g8").Select
        ActiveCell.Value = txtAARs
        Selection.NumberFormat = "0.00"

我认为selection.numberformat可以解决问题,但它仍然存在。我更改了Excel工作表中的格式,但是当表单填充单元格时,它会继续将它们还原为文本。

非常感谢任何帮助或建议。我搜索了这个网站很多,但找不到答案。我希望我没有错过它。

1 个答案:

答案 0 :(得分:1)

假设txtAARsTextBox,请指定.Value属性。

Private Sub butSaveData_Click()

    Sheet1.Activate

    Range("g8").Select
        ActiveCell.Value = txtAARs.Value
        Selection.NumberFormat = "0.00"

重构以摆脱SelectActivate

Private Sub butSaveData_Click()

    With Sheet1
        With .Range("G8")
            .Value = txtAARs.Value
            .NumberFormat = "0.00"
        End With
    End With