【问题标题】:excel macro to read text file and find matches in cellsexcel宏读取文本文件并在单元格中查找匹配项
【发布时间】:2013-05-30 19:19:19
【问题描述】:

我真的需要一些帮助

我有两个 .txt/csv 文件需要读取到我的 excel 文件中。

在我的 excel 文件中,我有一整列,每个单元格都包含字符串,我需要编写一个脚本才能找到匹配项并从该 txt 文件中复制相邻的列。

我的 txt 文件中的单行示例如下所示:

"AB101AA","AB10 1AA","AB101A","AB10 1A","AB101","AB10 1","AB10","AB10","AB","10",394251,806376, , "AB101AF","AB10 1AF","ABERDEEN","ABERDEENSHIRE",,"ABERDEEN, CITY OF"

我的 excel 文件会有一个单元格,可能会显示“AB101AF”,我希望相应的单元格运行一百万行并找到匹配项,然后在 txt 文件中找到相应的第 n 个单元格并将其返回到 excel 电子表格中例如“阿伯丁,城市”。

我知道我没有帮助解释这个问题。但我们将不胜感激。

谢谢

【问题讨论】:

  • 代码在哪里抛出错误?
  • 如果这是一百万行表,看起来像英国邮政编码,我宁愿将 csv 数据拉入一个“正确”的数据库,然后担心查询。
  • ' 'Sub test() 'Dim fn As String, x, i As Long, r As Range 'fn = ThisWorkbook.Path & "\part_1.txt" 'x = Split(CreateObject(" Scripting.FileSystemObject").OpenTextFile(fn).ReadAll, vbCrLf) ''For Each r In Sheets(1).Range("a1").CurrentRegion.Columns(1).Cells 'For i = 0 To UBound(x ) 'If x(i) Like "" & r.Value & "" Then ' 'On Error Resume Next ' 'r(, 2).Value = Replace(Split(x(i), vbTab)(6), """", "") 'On Error GoTo 0 ' 'Exit For 'End If 'Next 'Next 'End Sub

标签: vba excel match string-matching


【解决方案1】:

根据文本文件的大小,您可以使用 Excel 中的 GetExternalData 选项导入文件。这将允许您将数据加载到不同的工作表中,然后使用从主工作表查找数据。在这里使用 Match 和/或 vlookup 应该会有所帮助。

您还可以将工作簿连接添加到文本文件并使用该连接进行搜索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多