我有一个用户输入数字的Excel用户表单,当这些数字输入到电子表格中时,它们会显示通知这是一个存储为文本的数字。 = SUM(H6:H13)显示零结果。 我试过 NumCrtn = cLng(NumCrtn) - 不将单元格更改为数字,公式仍显示为零。 我试过 NumCrtn = Val(NumCrtn) - 不会将单元格更改为数字,公式仍显示为零。
我尝试过copy和paste.special到一个值,并且不会将其更改为数字。 不知道该怎么做。
帮助!
答案 0 :(得分:1)
试试这个:
With Range("H6:H13")
.NumberFormat = "0"
.Value = .Value
End With
修改强>
另一种解决方案。基于Pradeep Kumar的建议,在您输入数据之前处理准备您的范围,将您的代码更改为此类
Private Sub UserForm_Initialize()
Dim aCell As Range
Range("H6:H13").NumberFormat = "0"
'This is to cater for any previous values if filled in
For Each aCell In Range("H6:H13")
aCell.Formula = aCell.Value
Next
End Sub
Private Sub CommandButton1_Click()
'Entering value for H6
Range("H6").Value = TextBox1.Value
End Sub
答案 1 :(得分:0)
Range("H6:H13").NumberFormat = "#,##0"
答案 2 :(得分:0)
它不是VBA解决方案,而是普通的Excel解决方案 这样做
执行此操作的宏看起来像这样:
Columns("A:A").TextToColumns
TextToColumns方法有很多参数,但它应该只能使用默认值(即没有参数)。