如何在 Excel 2007 中将某一列的单元格转换为文本

如何在 Excel 2007 中将某一列的单元格转换为文本

我有一个由单元格(从 100 到 10 万以上)组成的列,其值如下:

5
12
78.456
1235.78510
AFT780.963
ZFLQ
57180.004
...

我想要一种方法来快速将单元格格式更改为text。选择所有单元格并手动将格式更改为text不起作用。我也试过了=text(A1,"0"),但这会导致单元格在 后面有数字时出现问题.123.1230转换为 时应该保持这样text(我只想要一个值,而不是单元格中的公式)。

当单元格中只有数字时,Excel 会在单元格的左上角显示一条小绿带,表示该单元格被正确解释为text

有办法吗?

[编辑]

归功于接受的答案,'在数字前添加将其转换为text。此外,我找到了另一种方法网站(向下滚动到“使用文本到列向导将 Excel 中的数字转换为文本”)。在“数据”选项卡中,您可以使用转换器向导将您选择的内容转换为文本,对我来说,这种方法很有效。

可以使用 VBA 像这样完成:

Range("A1:A11").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 2), TrailingMinusNumbers:=True

答案1

Sub ConvertToText()

Dim i As Long, lastRow As Long
lastRow = Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To lastRow
    Sheets("Sheet1").Cells(i, 1).Formula = "'" & Sheets("Sheet1").Cells(i, 1).Formula
Next i

End Sub

假设您的数据在 A 列,请使用此 VBA 代码。按 Alt+F11 打开 VBA 编辑器,插入模块(插入 > 模块),粘贴此代码并按 F5 运行。

它的工作原理是在每个单元格前面添加单引号 ('),强制 Excel 将值解释为文本。

答案2

突出显示列,选择数字部分的“主页”选项卡,从下拉框中选择“文本”。默认通常为“常规”。

抱歉,我不知道如何将屏幕截图粘贴到对话框中。

相关内容