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

pkwftd7m  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(113)

我有一个Excel文件(https://www.dropbox.com/s/hv9u68s136es190/Example2.xlsx?dl=0),A列中有所有的人,旁边的单元格中有名字文本(B列)。我想为每个人保存一个文本文件,其中包含在单元格中的文本旁边有名字。文件名应该像人的名字一样。所以在这种情况下,我会有三个文本文件。我不知道如何在Excel中使用Excel。有人能帮我一下吗?

fzwojiic

fzwojiic1#

请试试这个密码。首先,你必须自己尝试一些东西。我们通常帮助人们纠正他们的代码并学习...
文本文件的名称将与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

相关问题