删除单元格中的string,保持该单元格中的数字

所以我有一个从单词导入的报告,保持单位的数字。 我可以使用查找/replace,但我需要经常导入类似的报告,并希望删除所有单位的实例,同时保持在单元格中的数字。 import的单位是200平方呎。 和100英寸。数字每次都改变,但单位之间的单位是相同的。

Sub DeleteChar() Dim lastrow as integer Dim myCell as Range lastrow = Cells(Rows.Count, 2).End(xlUp).Row For y= 3 to 10 For x = lastrow to 2 step -10 If Right(Len(myCell.Value),7) = " sq.ft." then myCell.Value = Left(myCell.Value, len(myCell.Value-7)) end if Next x Next y End Sub 

需要工作。 试图设置它find右边前7个字符的实例是“sq.ft.” 然后用相同的值replace该单元格 – 最后7个字符。

如果你的数字总是在文本的左边,使用val:

所以,而不是你的如果:

  If Right(Len(myCell.Value),7) = " sq.ft." then myCell.Value = Left(myCell.Value, len(myCell.Value-7)) end if 

使用

 ActiveSheet.Cells(x,y).value = Val(ActiveSheet.Cells(x,y).value) 
 Sub DeleteChar() Dim i, lastrow As Integer Dim myCell As Range Dim arr() As String lastrow = Cells(Rows.Count, 2).End(xlUp).Row For i = 1 To lastrow arr = Split(Cells(i, 2).Value, " ") Cells(i, 2).Value = cDbl(arr()) Next i End Sub 

让我知道如果你的数据input不符合分隔符,这段代码寻找空格字符,所以如果有时logging不包括分隔符,我必须添加一个句柄。