標題:
如何把EXCEL的儲存格範圍A1:H3000輸出到記事本檔案的 D:\SP20110801.TXT
[打印本頁]
作者:
metrostar
時間:
2011-8-1 16:48
標題:
如何把EXCEL的儲存格範圍A1:H3000輸出到記事本檔案的 D:\SP20110801.TXT
學妹又來麻煩大家了
打開 EXCEL 檔有詳細說明喔
請帥哥/美女版主 帥哥/美女學長跟學姐
幫忙學妹完成
謝謝了
作者:
chin15
時間:
2011-8-3 08:15
回復
1#
metrostar
結果不知是否正確
Sub test()
Open "d:\SP20110801.txt" For Output As #1
For r = 1 To [A65536].End(xlUp).Row
If r = 1 Then
c = Cells(1, 11).Resize(, 7)
mystr = Join(Application.Transpose(Application.Transpose(c)), ",")
Else
x = Cells(r, 1)
If IsNumeric(x) Then
x = [j1] & Application.Text(x, "0000")
Else
x = [j1] & x
End If
mystr = x & "," & "20110801" & "," & Cells(r, 3) & "," & Cells(r, 4) & "," & Cells(r, 5) & "," & Cells(r, 6) & "," & Cells(r, 8)
End If
Print #1, mystr
Next
Close #1
End Sub
複製代碼
作者:
metrostar
時間:
2011-8-3 13:31
本帖最後由 metrostar 於 2011-8-3 13:33 編輯
回復 metrostar
結果不知是否正確
chin15 發表於 2011-8-3 08:15
太棒了,可以了
多謝這位帥哥學長
學妹非常感動呢
您真是太強太強了
感謝您並祝賀您
幸福好運永遠降臨您身上
學妹另外一問題,如果不輸出 EXPORT TO TXT , 而把結果輸出 SHEET2呢 , 又要怎麼做呢?
請看新附上的檔案
作者:
chin15
時間:
2011-8-3 14:35
回復
3#
metrostar
對不起,我不是帥哥,學長更不敢當,才剛起步學習。
Sub test()
With Sheet1
For r = 1 To .[A65536].End(xlUp).Row
If r = 1 Then
mystr = Array("<TICKER>", "<DTYYYYSSDD>", "<OPEN>", "<HIGH>", "<LOW>", "<CLOSE>", "<VOL>")
Else
x = .Cells(r, 1)
If IsNumeric(x) Then
x = .[j1] & Application.Text(x, "0000")
Else
x = [j1] & x
End If
mystr = Array(x, "20110802", .Cells(r, 3), .Cells(r, 4), .Cells(r, 5), .Cells(r, 6), .Cells(r, 8))
End If
Sheet2.Cells(r, 1).Resize(, 7) = mystr
Next
End With
End Sub
複製代碼
作者:
metrostar
時間:
2011-8-3 14:42
本帖最後由 metrostar 於 2011-8-3 14:44 編輯
帥哥學長做法是正確的,感恩啦
有點點小問題,日期要當天的年月日日期
像今天是 20110803 , 如果明天是 20110804
作者:
chin15
時間:
2011-8-4 10:01
mystr = Array(x, Application.Text(Date, "yyyymmdd"), .Cells(r, 3), .Cells(r, 4), .Cells(r, 5), .Cells(r, 6), .Cells(r, 8))
改這行
作者:
metrostar
時間:
2011-8-5 11:53
回復
6#
chin15
謝謝樓上的帥哥學長
同樣的程式為什麼用在 book4.xls 跟 book3.xls 為什麼會這樣 ?????
真的好奇怪喔 , 不知原因出在那裡呢
帥哥學長提供的程式為什麼在這檔案不能用呢?
用在 Book3.xls 可以, 使用在這 Book4.xls 就不行
作者:
oobird
時間:
2011-8-5 18:49
你的sheet1[j1]空無一物,當然是空白了
原來放在sheet1[j1]的m妳把他改成放在sheet2
代碼妳就得跟著改才會正確執行
If IsNumeric(x) Then
x =
Sheet2
.[j1] & Application.Text(x, "0000")
Else
x =
Sheet2
.[j1] & x
End If
作者:
oobird
時間:
2011-8-5 18:54
回復
4#
chin15
建議反向思考,複製要用到的幾欄,然後再改格式會比在每一行中循環取數便捷些。
作者:
metrostar
時間:
2011-8-16 08:30
回復
9#
oobird
太棒了,可以了
多謝這位帥哥超級版主
學妹非常感動呢
您真是太強太強了
感謝您並祝賀您
幸福好運永遠降臨您身上
學妹 還有小小問題
如果遇到 I1儲存格的 MY 時 , J1儲存格為空
想要 A2:A65536 的純數字為4位數,不足前面補0
例如 A2 儲存格 目前為 12,要 0012 才對 怎麼做呢 ?
作者:
Hsieh
時間:
2011-8-16 14:46
回復
10#
metrostar
Sub test()
With Sheet1
For r = 1 To .[A65536].End(xlUp).Row
If r = 1 Then
Mystr = Array("<TICKER>", "<DTYYYYSSDD>", "<OPEN>", "<HIGH>", "<LOW>", "<CLOSE>", "<VOL>")
Else
x = IIf(Sheet2.[j1] = "", "'", Sheet2.[j1]) & Format(Val(.Cells(r, 1)), "0000")
Mystr = Array(x, Format(Date, "yyyymmdd"), .Cells(r, 3), .Cells(r, 4), .Cells(r, 5), .Cells(r, 6), .Cells(r, 8))
End If
Sheet2.Cells(r, 1).Resize(, 7) = Mystr
Next
End With
End Sub
複製代碼
作者:
metrostar
時間:
2011-8-16 16:54
回復 metrostar
Hsieh 發表於 2011-8-16 14:46
多謝 超級帥哥版主 , 不好意思呢 ? 學妹沒表達清楚
只有純數字要變(不足4位補足4位) , 其它 數字+文字 (不變) 謝謝囉
作者:
Hsieh
時間:
2011-8-16 17:00
Sub test()
With Sheet1
For r = 1 To .[A65536].End(xlUp).Row
If r = 1 Then
Mystr = Array("<TICKER>", "<DTYYYYSSDD>", "<OPEN>", "<HIGH>", "<LOW>", "<CLOSE>", "<VOL>")
Else
x = IIf(Sheet2.[j1] = "", "'", Sheet2.[j1]) & Format(.Cells(r, 1), "0000")
Mystr = Array(x, Format(Date, "yyyymmdd"), .Cells(r, 3), .Cells(r, 4), .Cells(r, 5), .Cells(r, 6), .Cells(r, 8))
End If
Sheet2.Cells(r, 1).Resize(, 7) = Mystr
Next
End With
End Sub
複製代碼
回復
12#
metrostar
作者:
metrostar
時間:
2011-8-16 17:05
太棒了,可以了
多謝這位超級帥哥版主
學妹非常感動呢
您真是太強太強了
感謝您並祝賀您
幸福好運永遠降臨您身上
作者:
metrostar
時間:
2011-8-23 14:43
回復
14#
metrostar
學妹又有別的問題麻煩大家了
輸出到 SH9.TXT 時,為什麼會出現空格 (不要空格才是正確的)
請看圖片
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)