Excel 如何根据列行数据复制粘贴到文本文件并保存

Excel 如何根据列行数据复制粘贴到文本文件并保存,excel,vba,text,Excel,Vba,Text,我有一个关于将数据从Excel工作表保存到.txt文件的问题。我需要从工作簿的R列复制每个单元格,并为R列中的每个单元格创建一个.txt文件,粘贴数据,并基于同一行a列数据保存它。这将为列R中的每个行项目创建一个文本文件,并基于同一行列a值命名该文件。我在VBA方面的经验有限。下面是数据示例 下面是一些VBA,它在工作表上的所有行中循环,在以a列中的数据命名的指定文件夹中创建一个文本文件,并将R列中的数据写入其中 Sub sSaveData(strFolder As String) On

我有一个关于将数据从Excel工作表保存到.txt文件的问题。我需要从工作簿的R列复制每个单元格,并为R列中的每个单元格创建一个.txt文件,粘贴数据,并基于同一行a列数据保存它。这将为列R中的每个行项目创建一个文本文件,并基于同一行列a值命名该文件。我在VBA方面的经验有限。下面是数据示例


下面是一些VBA,它在工作表上的所有行中循环,在以a列中的数据命名的指定文件夹中创建一个文本文件,并将R列中的数据写入其中

Sub sSaveData(strFolder As String)
    On Error GoTo E_Handle
    Dim strFile As String
    Dim intFile As Integer
    Dim lngLastRow As Long
    Dim lngLoop1 As Long
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    If Right(strFolder, 1) <> "\" Then strFolder = strFolder & "\"
    lngLastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    For lngLoop1 = 1 To lngLastRow
        strFile = strFolder & ws.Cells(lngLoop1, 1) & ".txt"
        intFile = FreeFile
        Open strFile For Output As intFile
        Print #intFile, ws.Cells(lngLoop1, 18)
        Close #intFile
    Next lngLoop1
sExit:
    On Error Resume Next
    Set ws = Nothing
    Reset
    Exit Sub
E_Handle:
    MsgBox Err.Description & vbCrLf & "sSaveData", vbOKOnly + vbCritical, "Error: " & Err.Number
    Resume sExit
End Sub
子sSaveData(strFolder作为字符串)
错误转到E_句柄
作为字符串的Dim strFile
将文件设置为整数
暗淡的玻璃和长的一样
暗LNGLOP1与长LNGLOP1相同
将ws设置为工作表
设置ws=工作表(“表1”)
如果正确(strFolder,1)“\”则strFolder=strFolder&“\”
lngLastRow=ws.Cells(ws.Rows.Count,“A”).End(xlUp).Row
对于LNGLOP1=1至lngLastRow
strFile=strFolder&ws.Cells(lngLoop1,1)和“.txt”
intFile=FreeFile
打开strFile以作为intFile输出
打印#intFile,ws.Cells(lngLoop1,18)
关闭#intFile
下一个LNGLOP1
性别:
出错时继续下一步
设置ws=Nothing
重置
出口接头
E_手柄:
MsgBox错误描述&vbCrLf&“sSaveData”,vbOKOnly+vbCritical,“错误:”&错误编号
恢复性生活
端接头

您好,

您的帖子以“我有一个问题…”开头,但我很难找到一个答案。如果您编写了一些代码,但在运行时遇到问题,我们需要查看这些代码以提供帮助。谢谢您的代码。但是,我正在尝试运行它,但在@applecorePlace中没有任何操作替换Excel模块中的代码。然后在即时窗口中,
调用sSaveData(“C:\test”)
天哪,你真是不可思议。这节省了我很多时间。非常感谢。