我有一个巨大的清单,我每天都要工作。我想将我的参考列数据从数字更改为文本,这样我就可以进行一些高级过滤和引用未来。我不想添加任何新列,例如,在excel中使用Text()
函数,因为此范围在我必须连接和链接的不同文件中是相同的。我只是想知道是否可以使用VBA代码执行此操作。我试过了:
selection=selection.text
或使用'做一些特殊工作,空单元格来回转换为数组但未成功。任何的想法?我也不想做一个循环,因为我需要为几个文件做这个努力,我不能每天操纵他们的结构或用我的弱笔记本电脑改变它们!
此致 中号
答案 0 :(得分:3)
您可能希望使用内置Excel功能文本到列 如果您希望使用VBA自动执行此操作,请尝试以下操作:
With Sheet1
.Range("B1", "B4").TextToColumns Destination:=.Range("B1"), _
DataType:=xlDelimited, _
FieldInfo:=Array(1, 2)
End With
上面转换了sheet1中B1:B4范围内的所有数字
FieldInfo
参数标识转换
我们使用Array(1,2)
,这意味着我们要将第1列转换为文本
检查Text to columns功能以进一步了解它。 HTH。
答案 1 :(得分:2)
这应该会帮助你。它将一系列值转换为文本格式
Sub Convert_To_Text()
Dim vData As Variant
vData = Range("A1:D1")
Range("A1:D1").NumberFormat = "@"
Range("A1:D1") = vData
End Sub
答案 2 :(得分:2)
根据@ l42回答并指出这里是我需要的......然后来到
Sub NumbtoText()
If Not ActiveSheet.FilterMode Then Selection.TextToColumns _
DataType:=xlDelimited, _
FieldInfo:=Array(1, 2)
End Sub
由于