如何将复制的单元格文本格式化为数字?

时间:2019-04-23 16:54:55

标签: excel vba

我有一个vba公式,可将一个单元格的值(由数字组成)复制到另一个单元格。当数字为小数(例如:25,50)时,结果还可以,但是当数字为无小数(例如:50)时,出现错误检查标志,建议我将该单元格转换为数字。

此错误标记不会有问题,但无法在公式中使用结果。例如,如果我使用SUM(A:A),则公式会添加除已标记的数字以外的所有数字。

到目前为止,我尝试使用.xlPasteValuesAndNumberFormats属性进行粘贴,但没有成功。

Sub Adauga()
Dim i As Range
Dim cellTaxa As Range

Set cellTaxa = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Offset(1, -2) 'Here I set the range to the value of a cell that is related to the button I click. 

n = 2
Set i = Sheets("TJT DETERMINABILA").Cells(n, 10) 'Here I insert the first result
Do While i <> "" 'Here I find the next empty cell in the same column to insert the value.
    n = n + 1
    Set i = Sheets("TJT DETERMINABILA").Cells(n, 10)
Loop

cellTaxa.Copy 'Here I copy the cell
i.PasteSpecial xlPasteValues 'Here I paste the cell. 

End Sub

我希望能够使用SUM公式来粘贴代码中提到的列中的值。 谢谢!

1 个答案:

答案 0 :(得分:0)

正如@urdearboy所说,将文本转换为数字的一个简单技巧是添加+0

就我而言,我在cellTaxa = CellTaxa + 0行之前添加了cellTaxa.Copy,它已经解决了我的问题。