1

我有一个包含一些功能的文件。其中之一将文本划分为选定范围内的列:

    Sub txt2clmns()
    Dim rng As Range
    Set rng = [i5]
    Set rng = Range(rng, Cells(Rows.Count, rng.Column).End(xlUp))
    rng.TextToColumns _
            Destination:=Range("J5"), _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=False, _
            Tab:=True, _
            Semicolon:=True, _
            Comma:=False, _
            Space:=False, _
            Other:=False
    rng.TextToColumns _
            Destination:=rng, _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=False, _
            Tab:=True, _
            Semicolon:=False, _
            Comma:=False, _
            Space:=False, _
            Other:=False
End Sub

是否有更简单的方法来刷新文本到列功能的设置,而无需使用标准参数第二次应用它(仅选中选项卡复选框)?

因为如果我只调用一次,当我将它们直接粘贴到公式选项卡中时,Excel 会自动将所有字符串用分号分隔。

感谢您的任何帮助。

4

1 回答 1

0

我认为宏开头的简单消息框允许用户选择 Tab 是否应设置为 true,可以解决问题:

Dim TabBool As Boolean
'if user selects Yes on the form, then result value is 6
TabBool = ( MsgBox("Should Tab parameter be set to True?", vbYesNo) = 6 )

然后使用它:Tab:=TabBool

于 2017-08-11T10:53:52.277 回答