返回列表 上一主題 發帖

[發問] 文字檔開啟

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

TOP

抱歉我可能沒說清楚
下方的語法是可以連續開啟在同一個資料夾內的文字檔 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

回復 1# koplkjnm
是這樣嗎?
  1. Option Explicit
  2. Sub 開啟檔案()
  3. ' Name是VBA 的關鍵字 請不要變數名稱
  4.     Dim i, x As Integer, txt_name
  5.     oldname = ThisWorkbook.name & "\"
  6.     Range("A1").Select
  7.     txt_name = Array("abc", "acc", "qqq", "aaa", "ccc")
  8.     Do
  9.         x = Application.InputBox("數量 不可 > " & UBound(txt_name) + 1, Type:=1)
  10.     Loop Until x <= UBound(txt_name) + 1 Or x = 0
  11.     If x > 0 Then
  12.         For i = 1 To x
  13.             Workbooks.Open txt_name & txt_name(i) & ".txt"
  14.         Next
  15.     End If
  16. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

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

Sub 開啟檔案 ...
koplkjnm 發表於 2013-5-8 00:21


1. 有 For 沒 Next....
2.開起後?
3.文件檔案名稱?
4.檔案放置資料夾何在?

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題