如果您使用Excel从外部来源获取信息,则最终可能会在单元格中得到一些非常奇怪的信息。例如,假设您的单元格包含数字,例如1,234.5-。这些在Excel中被格式化为文本单元格,因此不能用于计算。

下面的宏将检查选定范围内的单元格。如果单元格包含文本,并且该文本以减号结尾,则宏会将减号移动到文本的开头,并将其填充回单元格中。结果是该单元格从文本值转换为正确的数值。

Sub ConvToNum()

Dim MyText As Variant     Dim MyRange As Range     Dim CellCount As Integer

Set MyRange = ActiveSheet.Range(ActiveWindow.Selection.Address)

For CellCount = 1 To MyRange.Cells.Count         MyText = MyRange.Cells(CellCount).Value         If VarType(MyText) = vbString Then             MyText = Trim(MyText)

If Right(MyText, 1) = "-" Then                 MyText = "-" & Left(MyText, Len(MyText) - 1)

MyRange.Cells(CellCount).Value = MyText             End If         End If     Next CellCount End Sub

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11728)适用于Microsoft Excel 2007、2010和2013。您可以在此处为Excel的较旧菜单界面找到此技巧的版本: