在Excel中为多个选定列循环文本到列宏

时间:2015-04-21 02:37:42

标签: excel excel-vba vba

我正在尝试在Excel中的几列数据上执行“Text to Columns”功能。如何修改宏的VBA脚本来执行此操作?现在,我只能为我的宏选择一列,但我想选择多个列,并以某种方式循环。

另外,当有人问我是否可以覆盖下一栏中的数据时,有没有办法编写点击“好”的脚本?

Sub text2col()
'
' text2col Macro
'
' Keyboard Shortcut: Option+Cmd+k
'
    Selection.TextToColumns Destination:=Range(ActiveCell.Address), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1))
End Sub

1 个答案:

答案 0 :(得分:0)

  • 将1更改为您需要更改的第1列的列号
  • 将10更改为您需要更改的最后一列的列号
  • 列从左(A)开始以1
  • 开头

请务必在评论中注意Mark Wickett的警告。

Sub text2col()
'
' text2col Macro
'
' Keyboard Shortcut: Option+Cmd+k
'
Dim Col as Integer

  Application.DisplayAlerts = False
  For Col = 1 to 10 
    Selection.TextToColumns Destination:=Range(ActiveCell.Address), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
    :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1))
  Next
  Application.DisplayAlerts = True
End Sub