伊莉討論區

標題: Excel vba 匯出txt問題 [打印本頁]

作者: owen12519    時間: 2021-4-9 03:31 PM     標題: Excel vba 匯出txt問題

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

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

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

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

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

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

有人建議我設定B:B抓整欄位
然後再迴圈內加入判斷是否為空值
後跳出迴圈

因為程式是工作前輩留下來的
我的能力有限
希望有熟悉的大大解答
萬分感謝

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

Sub 儲存ID()
'
' 儲存ID 巨集
'
' 快速鍵: Ctrl+q
'
    ActiveSheet.Range("$A$1I$613").AutoFilter Field:=9, Criteria1:="0"
    Rows("50:50").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.Range("$A$1I$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 Su






歡迎光臨 伊莉討論區 (http://www04.eyny.com/) Powered by Discuz!