標題:
[發問]
文字檔要如何反序匯入Excel 呢?
[打印本頁]
作者:
mgame168
時間:
2011-5-19 19:33
標題:
文字檔要如何反序匯入Excel 呢?
我有一文字檔須從檔案的最後一行開始
然後倒數的二行........到檔首匯入Excel
請問該如何改呢? 感謝各位!!!
Dim MyString As String
Open "MYFILE" For Input As #1 ' 開啟輸入檔。
i = 0
Do While Not EOF(1) ' 檢查是否已到檔尾。
Input #1, InputData ' 讀入一行資料。
ActiveCell.Offset(0, i).Value = MyString
i = i + 1
Loop
Close #1 ' 關閉檔案。
作者:
GBKEE
時間:
2011-5-19 21:13
回復
1#
mgame168
Sub Ex()
Dim MyString As String, i%
Open "MYFILE" For Input As #1 ' 開啟輸入檔。
i = 0
Do While Not EOF(1) ' 檢查是否已到檔尾。
Line Input #1, MyString ' 將資料讀入變數中。
ActiveCell.Offset(i).Value = MyString '往下寫入
'ActiveCell.Offset(0, i).Value = MyString '往右寫入
i = i + 1
Loop
Close #1
End Sub
複製代碼
作者:
Hsieh
時間:
2011-5-19 22:51
倒著讀喔?
Sub nn()
Dim Ar()
Open "E:\restr.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, mystr
ReDim Preserve Ar(s)
Ar(s) = StrReverse(mystr)
s = s + 1
Loop
Close #1
ay = Split(StrReverse(Join(Ar, Chr(10))), Chr(10))
[A1].Resize(UBound(ay) + 1, 1) = Application.Transpose(ay)
End Sub
複製代碼
作者:
GBKEE
時間:
2011-5-20 06:06
開啟的檔案不是特大時可試試
Sub Ex()
Dim mystr$, Allstr$, Ar
Open "D:\Test\Test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, mystr
Allstr = IIf(Allstr <> "", Allstr & "GBK", "") & mystr
Loop
Close #1
Ar = Split(Allstr, "GBK")
[A1].Resize(UBound(Ar) + 1, 1) = Application.Transpose(Ar)
End Sub
複製代碼
作者:
mgame168
時間:
2011-5-20 10:21
感謝兩位版主大力幫忙~
或許我沒把問題說清楚
假設
E:\restr.txt
restr.txt 內容
6
5
4
3
2
1
欲匯入Excel 的結果
A B C D E F
1 2 3 4 5 6
GBKEE 版主
可能我用的資料與您的不同, 所以依您方法得到的結果如下:
6
5
4
3
2
1
Hsieh 版主
依您方法得到的結果, 倒著讀對了, 但用陣列匯入的結果
並不是我想要的, 想再請您幫忙,匯入的結果能否由直式
改橫式?
您方法的結果
1
2
3
4
5
6
欲匯入Excel 的結果
A B C D E F
1 2 3 4 5 6
感謝兩位的幫忙
作者:
GBKEE
時間:
2011-5-20 11:34
本帖最後由 GBKEE 於 2011-5-20 11:36 編輯
回復
5#
mgame168
是這樣嗎? 不要打謎題
Sub Ex()
Dim mystr$, Allstr$, Ar
Open "D:\Test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, mystr
If Len(mystr) > 0 And mystr <> " " Then Allstr = IIf(Allstr <> "", Allstr & "***", "") & mystr
Loop
Close #1
Ar = Split(StrReverse(Allstr), "***")
[A1].Resize(1, UBound(Ar)) = Ar
End Sub
複製代碼
作者:
mgame168
時間:
2011-5-20 13:48
回復
6#
GBKEE
感謝GBKEE 版大 !!
對了~ 我要的就是您的方法~ 感恩您 !!
另將Hsieh版大的方法改成
[A1].Resize(1, UBound(Ar) + 1) =
Ar
也是我要的
謝謝兩位的幫忙 !!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)