2017-08-11 55 views
1

我有一個包含幾個函數的文件。其中一人分分列在選定範圍:如何刷新文本到列函數的設置vba

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自動將所有字符串用分號分隔,直接粘貼到公式選項卡中。

謝謝你的幫助。

回答

0

我想簡單的消息框在您的宏開始時,允許用戶選擇標籤是否應被設置爲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

+0

Michał的問題是,該設置應該重置爲默認值。我想知道是否可以在沒有第二次調用文本到列函數的情況下完成 – BangBoy