返回列表 上一主題 發帖

如何把EXCEL的儲存格範圍A1:H3000輸出到記事本檔案的 D:\SP20110801.TXT

如何把EXCEL的儲存格範圍A1:H3000輸出到記事本檔案的 D:\SP20110801.TXT

學妹又來麻煩大家了

打開 EXCEL 檔有詳細說明喔

請帥哥/美女版主 帥哥/美女學長跟學姐

幫忙學妹完成



謝謝了

grt.rar (16.63 KB)

回復 1# metrostar


    結果不知是否正確
  1. Sub test()

  2.     Open "d:\SP20110801.txt" For Output As #1
  3.     For r = 1 To [A65536].End(xlUp).Row
  4.         If r = 1 Then
  5.             c = Cells(1, 11).Resize(, 7)

  6.             mystr = Join(Application.Transpose(Application.Transpose(c)), ",")
  7.         Else
  8.             x = Cells(r, 1)
  9.             If IsNumeric(x) Then
  10.                 x = [j1] & Application.Text(x, "0000")
  11.             Else
  12.                 x = [j1] & x
  13.             End If
  14.             mystr = x & "," & "20110801" & "," & Cells(r, 3) & "," & Cells(r, 4) & "," & Cells(r, 5) & "," & Cells(r, 6) & "," & Cells(r, 8)
  15.         End If

  16.         Print #1, mystr
  17.     Next
  18.     Close #1
  19. End Sub
複製代碼

TOP

本帖最後由 metrostar 於 2011-8-3 13:33 編輯
回復  metrostar


    結果不知是否正確
chin15 發表於 2011-8-3 08:15


太棒了,可以了
多謝這位帥哥學長
學妹非常感動呢
您真是太強太強了
感謝您並祝賀您
幸福好運永遠降臨您身上

學妹另外一問題,如果不輸出 EXPORT TO TXT , 而把結果輸出 SHEET2呢 , 又要怎麼做呢?
請看新附上的檔案

Book3.rar (8.73 KB)

TOP

回復 3# metrostar
對不起,我不是帥哥,學長更不敢當,才剛起步學習。
  1. Sub test()
  2. With Sheet1
  3.     For r = 1 To .[A65536].End(xlUp).Row
  4.         If r = 1 Then
  5.             mystr = Array("<TICKER>", "<DTYYYYSSDD>", "<OPEN>", "<HIGH>", "<LOW>", "<CLOSE>", "<VOL>")
  6.         Else
  7.             x = .Cells(r, 1)
  8.             If IsNumeric(x) Then
  9.                 x = .[j1] & Application.Text(x, "0000")
  10.             Else
  11.                 x = [j1] & x
  12.             End If
  13.             mystr = Array(x, "20110802", .Cells(r, 3), .Cells(r, 4), .Cells(r, 5), .Cells(r, 6), .Cells(r, 8))
  14.         End If

  15. Sheet2.Cells(r, 1).Resize(, 7) = mystr
  16. Next
  17. End With
  18. End Sub
複製代碼

TOP

本帖最後由 metrostar 於 2011-8-3 14:44 編輯

帥哥學長做法是正確的,感恩啦

有點點小問題,日期要當天的年月日日期
像今天是 20110803 , 如果明天是 20110804

TOP

mystr = Array(x, Application.Text(Date, "yyyymmdd"), .Cells(r, 3), .Cells(r, 4), .Cells(r, 5), .Cells(r, 6), .Cells(r, 8))
改這行

TOP

回復 6# chin15

謝謝樓上的帥哥學長


同樣的程式為什麼用在 book4.xls 跟 book3.xls 為什麼會這樣 ?????
真的好奇怪喔 , 不知原因出在那裡呢
帥哥學長提供的程式為什麼在這檔案不能用呢?

用在 Book3.xls 可以, 使用在這 Book4.xls 就不行

Book4.rar (20.26 KB)

TOP

你的sheet1[j1]空無一物,當然是空白了
原來放在sheet1[j1]的m妳把他改成放在sheet2
代碼妳就得跟著改才會正確執行
If IsNumeric(x) Then
                x = Sheet2.[j1] & Application.Text(x, "0000")
            Else
                x = Sheet2.[j1] & x
            End If

TOP

回復 4# chin15


    建議反向思考,複製要用到的幾欄,然後再改格式會比在每一行中循環取數便捷些。

TOP

回復 9# oobird

太棒了,可以了
多謝這位帥哥超級版主
學妹非常感動呢
您真是太強太強了
感謝您並祝賀您
幸福好運永遠降臨您身上

學妹 還有小小問題
如果遇到 I1儲存格的 MY 時 , J1儲存格為空
想要 A2:A65536 的純數字為4位數,不足前面補0
例如 A2 儲存格 目前為 12,要 0012 才對 怎麼做呢 ?

Book4.rar (20.51 KB)

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題