Excel表中多列内容导出到单个文本文件中

有时在Excel表中整理好了材料,但是需要将每列的内容导出来,不想新建一个个的文本费时,这时测试了使用excel中的vba进行数据的导出,下面说明使用流程。

一、按住ALT + F11键以打开“ Microsoft Visual Basic应用程序”窗口。

二、单击插入>模块,然后将以下宏粘贴到模块窗口中。多表也可以在左侧的菜单栏中双击需要导出的表名,也会弹出模块的窗口。

三、将以下代码放入到模块中

Sub SaveValueToText()
Dim xFRNum, xFCNum As Long
Dim xStrDir As String
Dim xMaxR, xMaxC As Integer
Dim xCells As Range
Dim xIntX As Long
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
With xObjFD
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            xStrDir = .SelectedItems.Item(1) & Application.PathSeparator
        Else
            Exit Sub
        End If
End With
Set xCells = ActiveSheet.Cells
xMaxR = xCells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
xMaxC = xCells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
For xFCNum = 1 To xMaxC
    Open xStrDir & xFCNum & "_" & ActiveSheet.Cells(1, xFCNum).Text & ".txt" For Output As #1
        For xFRNum = 1 To xMaxR
            Print #1, Cells(xFRNum, xFCNum).Value
        Next xFRNum
    Close #1
Next
End Sub

四、粘贴代码后,按F5键运行此代码,或者点击二级横向菜单中的运行箭头也可以运行代码,运行后会弹出文件夹的对话框,然后选择一个文件夹来放置导出的文本文件。

五、单击确定按钮,Excel工作表中的每个列数据将会分别导出到文本文件中。

0 条评论