使用VBA

时间:2017-09-21 23:34:38

标签: excel vba excel-vba

我有一个巨大的清单,我每天都要工作。我想将我的参考列数据从数字更改为文本,这样我就可以进行一些高级过滤和引用未来。我不想添加任何新列,例如,在excel中使用Text()函数,因为此范围在我必须连接和链接的不同文件中是相同的。我只是想知道是否可以使用VBA代码执行此操作。我试过了:

selection=selection.text

或使用'做一些特殊工作,空单元格来回转换为数组但未成功。任何的想法?我也不想做一个循环,因为我需要为几个文件做这个努力,我不能每天操纵他们的结构或用我的弱笔记本电脑改变它们!

此致 中号

3 个答案:

答案 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

由于