我有一个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
公式来粘贴代码中提到的列中的值。
谢谢!
答案 0 :(得分:0)
正如@urdearboy所说,将文本转换为数字的一个简单技巧是添加+0
。
就我而言,我在cellTaxa = CellTaxa + 0
行之前添加了cellTaxa.Copy
,它已经解决了我的问题。