iT邦幫忙

0

Excel vba匯出txt

  • 分享至 

  • xImage

工作表A為資料
工作表B為儲存ID

工作表A會篩選把篩選完要保留的ID
貼到工作表B的"B1"儲存格
然後匯出TXT檔

遇到情況因為每次的篩選條件不同
第一次可能26筆(最多就26)
匯出的TXT檔案就26筆

目前設定 For Each Rng In Range("B1:B26")

但下一次可能篩選只有24筆
匯出的TXT檔案一樣有24筆 !!
但是他會多出兩行空白段落

要怎麼修改才能讓那兩行不出現
請高手幫幫忙

-----以下為我設定的程式碼 (新手見諒)

Sub 儲存ID()
'
' 儲存ID 巨集
'
' 快速鍵: Ctrl+q
'
ActiveSheet.Range("$A$1:$I$613").AutoFilter Field:=9, Criteria1:="0"
Rows("50:50").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$1:$I$612").AutoFilter Field:=9
Range("D38").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("儲存ID").Select
Dim Rng As Object
Dim strData

For Each Rng In Range("這邊該如何設定")
    If Rng.Column = 1 Then
        strData = strData & Rng & vbTab
    ElseIf Rng.Column = 2 Then
        strData = strData & Rng & vbCr
    End If
Next
Debug.Print strData

Dim fsT As Object
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2
fsT.Charset = "UTF-8"
fsT.Open
fsT.WriteText strData
fsT.SaveToFile "D:\ID.txt", 2

End Sub

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
koro_michael
iT邦新手 2 級 ‧ 2021-04-09 14:46:08
最佳解答

直接 B:B 抓整條,之後判斷內容如果是空,表示資料已到頭,跳出迴圈就好

owen12519 iT邦新手 5 級 ‧ 2021-04-09 19:07:18 檢舉

程式是工作上一位前輩留的
我的造詣根本瞭解不了迴圈結構
是否可以請大大協助我該在哪行加入判斷跟跳出迴圈
麻煩...

owen12519 iT邦新手 5 級 ‧ 2021-04-09 21:11:31 檢舉

謝謝你~我成功了 感謝感謝

恭喜你,很抱歉這麼晚才看到回應/images/emoticon/emoticon02.gif

我要發表回答

立即登入回答