Excel vba用于将单元格内容导出到TXT文件

Excel vba用于将单元格内容导出到TXT文件,excel,vba,Excel,Vba,我有一个Excel文件(),A列中有所有的人,旁边的单元格中有姓名文本(B列)。 我想为每个人保存一个文本文件,其中包含该名称旁边单元格中的文本。 文件名的调用方式应与人名相同。 所以在这种情况下,我会有三个文本文件。我不知道如何使用Excel中的VBA来管理这个。 有人能帮我吗 请尝试此代码。但是,首先你必须自己尝试一些东西。我们通常帮助人们纠正他们的代码并学习 文本文件的名称将与A列中的人名相同。保存这些文件的文件夹将是保存活动工作表的工作簿之一。当然,您可以根据需要定义它 Option E

我有一个Excel文件(),A列中有所有的人,旁边的单元格中有姓名文本(B列)。 我想为每个人保存一个文本文件,其中包含该名称旁边单元格中的文本。 文件名的调用方式应与人名相同。 所以在这种情况下,我会有三个文本文件。我不知道如何使用Excel中的VBA来管理这个。 有人能帮我吗


请尝试此代码。但是,首先你必须自己尝试一些东西。我们通常帮助人们纠正他们的代码并学习

文本文件的名称将与A列中的人名相同。保存这些文件的文件夹将是保存活动工作表的工作簿之一。当然,您可以根据需要定义它

Option Explicit

Sub SaveTxtNamePlusTekst()
  Dim sh As Worksheet, lastR As Long, i As Long, strPath As String
  Set sh = ActiveSheet     ' use here the sheet you need
  strPath = sh.Parent.path 'you can define here the path you wish...
  If Dir(strpath, vbDirectory) = "" Then MsgBox "The folder path is not valid...": Exit Sub
  lastR = sh.Range("A" & Cells.Rows.Count).End(xlUp).row 'Last row in A:A
  For i = 2 To lastR
    'calling a Sub able to create a text file in a folder and put text in it
    WriteText sh.Range("A" & i).value, strPath, sh.Range("B" & i).value
  Next i
End Sub

Private Sub WriteText(strName As String, strPath As String, strText As String)
  Dim filePath As String
  filePath = strPath & "\" & strName & ".txt" 'building the txt file path
  FreeFile 1

    Open filePath For Output As #1
      Print #1, strText 'write the text
    Close #1
End Sub

非常感谢。我得到了错误“无效文件名或无效文件编号”。@Jose:在哪一行出现这样的错误?您是否有包含“\”、“、”或其他特殊字符的人名?您是否在链接到此处的测试文件上测试代码?您是否直接从mail打开测试文件?我首先在我的示例中尝试了您的代码(因此没有特殊标记)。我把文件保存在我的onedrive上,这会有问题吗?唯一的驱动器是问题所在。非常感谢你@Jose:我修改了代码以检查路径是否有效。。。请刷新页面并使用此更新页面。但是,如果它满足您的需要,那么在代码左侧的复选框中打勾时,没有人死亡……:)让它成为公认的答案,如果其他人会寻找这样的解决方案,他会很快知道那是什么。。。