如何使用vba代码将excel中的一列数据导出到文本文件?

问题描述 投票:0回答:1

我想使用vba代码将H列中包含的数据导出到excel文件中。我设法获得了代码,但我想对其进行修改,以允许我在创建它之前选择名称和保存它的目录。提前致谢 代码是

Sub Export()

Dim i As Long, derLig As Long, tabl

derLig = Range("H" & Cells.Rows.Count).End(xlUp).Row
tabl = Range("H1:H" & derLig)
Open "D:\CCP.txt" For Output As #1
For i = 1 To UBound(tabl, 1)
If tabl(i, 1) <> "" Then
Print #1, tabl(i, 1)
End If
Next
Close #1
MsgBox ("Le Fichier CCP A Eté Créé Dans Le Disque D")
End Sub
excel vba excel-2007
1个回答
0
投票
Option Explicit

Sub Export()

    Dim i As Long, n As Long, derLig As Long, tabl
    Dim filename As String
    
    With ActiveSheet
        If WorksheetFunction.CountA(.Range("H:H")) = 0 Then
            MsgBox "pas de données à sauvegarder", vbCritical
            Exit Sub
        End If
        derLig = .Range("H" & Cells.Rows.Count).End(xlUp).Row
        tabl = .Range("H1:H" & derLig)
    End With
    
    filename = Application.GetSaveAsFilename
    If Len(filename) = 0 Then
        MsgBox "nom de fichier non valide", vbCritical
        Exit Sub
    End If
    
    Open filename For Output As #1
    For i = 1 To UBound(tabl, 1)
        If tabl(i, 1) <> "" Then
            Print #1, tabl(i, 1)
            n = n + 1
        End If
    Next
    Close #1
    MsgBox n & " lignes écrites dans " & filename, vbInformation
  
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.