![如何在 Excel 2007 中将某一列的单元格转换为文本](https://linux22.com/image/1460692/%E5%A6%82%E4%BD%95%E5%9C%A8%20Excel%202007%20%E4%B8%AD%E5%B0%86%E6%9F%90%E4%B8%80%E5%88%97%E7%9A%84%E5%8D%95%E5%85%83%E6%A0%BC%E8%BD%AC%E6%8D%A2%E4%B8%BA%E6%96%87%E6%9C%AC.png)
我有一个由单元格(从 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
突出显示列,选择数字部分的“主页”选项卡,从下拉框中选择“文本”。默认通常为“常规”。
抱歉,我不知道如何将屏幕截图粘贴到对话框中。