返回列表 上一主題 發帖

[發問] 文字檔開啟

[發問] 文字檔開啟

請問我想要用巨集開啟多個文字檔
檔案名稱為 y(i)-->y(1),y(2),y(3),...
那下碼怎麼修改

Sub 開啟檔案()
Dim name, i, x, oldname
oldname = ThisWorkbook.Name
Range("A1").Select
x = InputBox("數量")

For i = 1 To x
  name = i & ".txt"


感謝!

抱歉我可能沒說清楚
下方的語法是可以連續開啟在同一個資料夾內的文字檔 1.txt ,2.txt ,...
那假使我的文字檔名為y(1).txt, y(2).txt, ...
那請問我要如何修改
感謝

Sub 文字檔案()
Dim txt_name, i, x, oldname
oldname = ThisWorkbook.Name
Range("A1").Select
x = InputBox("檔案數量")

For i = 1 To x
  txt_name = i & ".txt"

    Workbooks.OpenText Filename:=ThisWorkbook.Path & "\" & txt_name, Origin:=950 _
        , StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
        Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
        Array(10, 1)), TrailingMinusNumbers:=True
   
   Windows(txt_name).Activate
   If i = 1 Then
    Range("A1").Select
    Else
     Range("A2").Select
    End If
   
    Next

End Sub

TOP

GBKEE大
抱歉 請問這段用意是什麼 麻煩你了  謝謝
    txt_name = Array("abc", "acc", "qqq", "aaa", "ccc")

TOP

回復 6# GBKEE

GBKEE大 抱歉可能我的理解較差
除了修改紅字的地方,其他不需修改嗎?
Range("A" & i).Select  這地方不太清楚意思?
麻煩你了 謝謝

Sub Ex()
    Dim A As Variant, i As Integer, x As Integer
    x = InputBox("檔案數量")
    For i = 1 To x
        Range("A" & i).Select
        '************************
        'If I = 1 Then
            'Range("A1").Select
        'Else
            'Range("A2").Select
        'End If
        '*****************************
    Next
End Sub '

TOP

回復 8# GBKEE
GBKEE大 你好
下面紅字的地方應該沒有錯
可是這樣的話感覺上它還是會搜尋檔案名為1.txt, 2.txt,...作開啟的動作
沒辦法開啟檔案名為y(1), y(2),...
如果我將它改成像藍字的部分可以嗎?
或者是哪裡要再補充或修改的

麻煩你了 感謝

Option Explicit
Sub 文字檔案()
Dim txt_name, i, x, oldname
Dim y As  Variant
oldname = ThisWorkbook.Name
Range("A1").Select
x = InputBox("檔案數量")
For i = 1 To x
  txt_name = i & ".txt" '<--改成   txt_name =y( i) & ".txt"

    Workbooks.OpenText Filename:=ThisWorkbook.Path & "\" & txt_name, Origin:=950 _
        , StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
        Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
        Array(10, 1)), TrailingMinusNumbers:=True
        Windows(txt_name).Activate

       Range("A" & i).Select
        '當=1 為  Range("A1").Select
        '當=2 為  Range("A2").Select   是這樣嗎? ..............

        
    Next
End Sub

TOP

回復 10# GBKEE
程式試了之後會出現型態不符合的警告

TOP

回復 12# GBKEE
如附件
麻煩你了 謝謝

123.rar (12.34 KB)

TOP

        靜思自在 : 【停滯不前,終無所得】人都迷於尋找奇蹟,因而停滯不前;縱使時間再多、路再長,也了無用處,終無所得。
返回列表 上一主題