Excel VBA导入文本文件,其中每个单词都有自己的行

Excel VBA导入文本文件,其中每个单词都有自己的行,excel,vba,Excel,Vba,我正在尝试创建一个宏,将.txt文件导入excel并填写a列。文本文件中的每个单词都应该有自己的行。到目前为止,我有一些代码,允许用户选择一个.txt文件,读取它,并将每个单词写入自己的单元格中。但是,它不会用每个单词开始新的一行。非常感谢您的帮助。谢谢 我从简单的文本文件开始,不过如果知道在导入时如何编辑所有标点符号也会很好。(见下面两个例子) 例1:“快速棕色 狐狸跳了过去 懒惰的月亮” 例2:“快报。 棕色狐狸, 跳过了那条河? “懒月亮” 我的代码 Sub TextImport() Di

我正在尝试创建一个宏,将.txt文件导入excel并填写a列。文本文件中的每个单词都应该有自己的行。到目前为止,我有一些代码,允许用户选择一个.txt文件,读取它,并将每个单词写入自己的单元格中。但是,它不会用每个单词开始新的一行。非常感谢您的帮助。谢谢

我从简单的文本文件开始,不过如果知道在导入时如何编辑所有标点符号也会很好。(见下面两个例子)

例1:“快速棕色
狐狸跳了过去
懒惰的月亮”

例2:“快报。
棕色狐狸,
跳过了那条河?
“懒月亮”

我的代码

Sub TextImport()
Dim fileToOpen As String

Worksheets("Dictionary").Activate
Application.ScreenUpdating = False

Range("a:z").Delete

fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "Select a file to import")

If fileToOpen <> "" Then
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
        & fileToOpen, Destination:=Range("A1"))

        .Name = "mytext"

        .FieldNames = True
        .RowNumbers = False

        .FillAdjacentFormulas = False
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileSpaceDelimiter = True

        .Refresh BackgroundQuery:=False
    End With
End If

Application.ScreenUpdating = False
End Sub
子文本导入()
Dim fileToOpen As String
工作表(“字典”)。激活
Application.ScreenUpdating=False
范围(“a:z”)。删除
fileToOpen=Application.GetOpenFilename(“文本文件(*.txt),*.txt”,“选择要导入的文件”)
如果文件打开“”,则
使用ActiveSheet.QueryTables.Add(连接:=“文本;”_
&fileToOpen,目标:=范围(“A1”))
.Name=“mytext”
.FieldNames=True
.rowNumber=False
.FillAdjacentFormulas=False
.TextFileStartRow=1
.TextFileParseType=xlDelimited
.TextFileTextQualifier=xlTextQualifierDoubleQuote
.TextFileSpaceDelimiter=True
.Refresh BackgroundQuery:=False
以
如果结束
Application.ScreenUpdating=False
端接头

如果您能显示文本文件中的前10行左右,这会有所帮助。很难提出其他建议。对不起,蒂姆。我已经编辑了我的原始问题。我导入的文本文件非常基本,只包含文字,没有事实或数字。
Sub ListWords()
    Dim re As Object
    Dim s As String, matches As Object, match As Object
    Dim rngList As Range

    Set re = CreateObject("VBScript.RegExp")
    re.Pattern = "([a-z]+)"
    re.ignorecase = True
    re.Global = True

    Set rngList = ThisWorkbook.Sheets("Sheet1").Range("A1")
    s = GetContent("C:\blahblah\tmp.txt")

    Set matches = re.Execute(s)
    If Not matches Is Nothing Then
       For Each match In matches
            rngList.Value = match.Value
            Set rngList = rngList.Offset(1, 0)
       Next match
    End If

End Sub

Function GetContent(f As String)
    GetContent = CreateObject("scripting.filesystemobject"). _
                    opentextfile(f, 1).readall()
End Function