Board logo

標題: [發問] 請問大大們,該如何抓取EXCEL某欄,另存成txt檔?新手請教,感謝。 [打印本頁]

作者: Haroro    時間: 2018-11-14 14:02     標題: 請問大大們,該如何抓取EXCEL某欄,另存成txt檔?新手請教,感謝。

小弟新手剛開始學習
想表達的是,有分頁【按鈕】頁
按下按鈕後【工作表1】-H欄位有資料的可以自動另存成TXT文字檔,至桌面上的練習資料夾裡面
按下按鈕後【工作表2】-H欄位有資料的可以自動另存成TXT文字檔,至桌面上的練習資料夾裡面
按下按鈕後【工作表3】-H欄位有資料的可以自動另存成TXT文字檔,至桌面上的練習資料夾裡面
更多分頁,在設定更多按鈕

想知道該如何設定,是要用巨集??還是VBA??

新手有簡單點的方法嗎?

感謝大大們

[attach]29674[/attach][attach]29675[/attach][attach]29676[/attach]
作者: rouber590324    時間: 2018-11-14 15:07

參考修改之

Sub 傳送PIXART外加字至CAM()
   
   
   '組合檔案名稱
    OutFile = "\\89.80.70.1\design\add_word\" & Sheet48.Range("B1") & ".txt"
    '建立檔案物件
    Set fs = CreateObject("Scripting.FileSystemObject")
    '開啟一個叫of的文字檔物件供輸出
    On Error Resume Next
    On Error GoTo 1
    Set of = fs.CreateTextFile(OutFile, True)
    '輸出標題至of
    of.Write (Sheet71.Range("B2") & Chr(13) & Chr(10))
    of.Write (Sheet71.Range("B3") & Chr(13) & Chr(10))

    Sheet71.Select
    Range("A1").Select
   
    '關檔
    of.Close
1:  Sheet70.Select
    Range("A1").Select
End Sub
作者: Haroro    時間: 2018-11-14 19:28

回復 2# rouber590324


    rouber 大大小弟不才,還是不太懂

    在麻煩大大指導
    如果用巨集來做的話
    會比較簡單點嗎??
     如果會的話!!
     該如何操作
     感謝

[attach]29677[/attach]
作者: rouber590324    時間: 2018-11-15 09:33

1.OutFile = "\\89.80.70.1\design\add_word\" & Sheet48.Range("B1") & ".txt"
    '建立檔案物件 -
  1.1\\89.80.70.1\design\add_word\路徑改為 至桌面上的練習資料夾
  1.2 Sheet48.Range("B1") 自行變更需求.TXT檔案名稱連結位置   
2. of.Write (Sheet71.Range("B2") & Chr(13) & Chr(10)) '輸出標題至of
  2.1 Sheet71.Range("B2") 改為H欄位有資料的串接
作者: n7822123    時間: 2018-11-15 10:56

本帖最後由 n7822123 於 2018-11-15 11:08 編輯

回復 3# Haroro


巨集與VBA不是一樣的東西嗎....?

如果你說的巨集是指錄製巨集的話,那錄製巨集應該是做不到你要的功能

只能寫VBA,這要花時間去研究,如果之前沒接觸過程式,想要VBA速成應該不太可能

你的功能不難,幫你寫好如附件,選你要的工作表輸出即可(自動更新下拉式選單),不用那麼多按鈕...........

雖然不難,但是你要更改的話,還是要先看懂..........,這部分別人講其實都很難意會,要自已多嘗試

[attach]29681[/attach]
作者: n7822123    時間: 2018-11-15 11:56

本帖最後由 n7822123 於 2018-11-15 12:08 編輯

回復 5# n7822123


擔心你路徑打錯,在多個功能"選資料夾",給你玩一玩

玩壞別找我:D

[attach]29684[/attach]
作者: Hsieh    時間: 2018-11-15 16:34

回復 1# Haroro
按鈕上文字必須是你的工作表名稱
所有按鈕指定巨集到同一個巨集Button_Click
  1. Sub Button_Click()
  2. Dim Ob As Shape, Sht As Worksheet
  3. Set Ob = ActiveSheet.Shapes(Application.Caller) '取得按下的按鈕
  4. sh = Ob.OLEFormat.Object.Caption '按鈕的文字
  5. Set Sht = Sheets(sh) '要擷取的工作表
  6. With Sht
  7. Open "D:\" & sh & ".txt" For Output As #1 '開啟文字檔案
  8. For Each a In .Columns("H").SpecialCells(xlCellTypeConstants) 'H欄位所有有資料的儲存隔做迴圈
  9. Print #1, a '寫入每個儲存格文字
  10. Next
  11. Close #1 '關閉文字檔
  12. End With
  13. End Sub
複製代碼

作者: Haroro    時間: 2018-11-15 19:20

回復 4# rouber590324


    感謝 rouber  大大
作者: Haroro    時間: 2018-11-15 19:27

回復 6# n7822123


    謝謝  龍哥  

    我會試著玩一玩(摸索摸索)
作者: Haroro    時間: 2018-11-15 20:58

回復 7# Hsieh


    感謝  Hsieh




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)