【问题标题】:Export Excel range to TXT stop at empty cell将 Excel 范围导出到 TEXT 在空单元格处停止
【发布时间】:2017-10-27 16:03:20
【问题描述】:

找到以下脚本

Sub saveText2()
Dim filename As String, lineText As String
Dim myrng As Range, i, j

filename = ThisWorkbook.Path & "\textfile-" & Format(Now, "ddmmyy-hhmmss") & ".txt"

Open filename For Output As #1

Set myrng = Range("Name")

For i = 1 To myrng.Rows.Count
    For j = 1 To myrng.Columns.Count
        lineText = IIf(j = 1, "", lineText & ",") & myrng.Cells(i, j)
    Next j
    Print #1, lineText
Next i
Close #1
End Sub

但我似乎无法在第一个空行处停止循环。

我尝试添加 DO While myrng "" 循环,但我不知道在哪里应用代码。

【问题讨论】:

    标签: vba excel export-to-csv


    【解决方案1】:

    不确定这是最聪明的方法,但我终于通过这样做来管理:

    Sub saveText2()
    Dim filename As String, lineText As String
    Dim myrng As Range, i, j
    
    filename = ThisWorkbook.Path & "\textfile-" & Format(Now, "ddmmyy-hhmmss") & ".txt"
    
    Open filename For Output As #1
    
    Set myrng = Range("A:B")
    
    For i = 1 To myrng.Rows.Count
        For j = 1 To myrng.Columns.Count
    
        If IsEmpty(myrng.Cells(i, j)) = True Then
        Close #1
        Exit Sub
        End If
    
            lineText = IIf(j = 1, "", lineText & " ") & myrng.Cells(i, j)
        Next j
        Print #1, lineText
    Next i
    Close #1
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      相关资源
      最近更新 更多