excel - VBA - 带有两个行和列分隔符的 Txt 文件

标签 excel vba

我有一个 .txt列用 | 分隔的文件(竖线),但行用以下字符串分隔:_ ~|~ _
有没有办法通过基于字符串分隔行来导入它?如果我能做到这一点,我将能够轻松地对列进行文本处理。

这很棘手,因为记事本中每一行的空间都被耗尽了。例如:

Policy|Name|Cost _ ~|~ _ 11924|Joe|$20 _ ~|~ _ 154 (end of notepad space)

35|Bob|$40 _ ~|~ _ 18439|Jane|$30 _ ~|~ _ 18492|Ri

chard|$50

我需要这个阅读:
Policy Name Cost

11924  Joe  $20

15435  Bob  $40

18439  Jane $30

18492 Richard $50

等等。请注意,最右侧的值被拆分,因为记事本已用尽其行长。

感谢您的任何想法!

最佳答案

您可以在导入 Excel 之前使用更强大的文本编辑器对文本进行预处理,例如 TextPad .

在 TextPad 中,执行替换(F8 键)。首先让我们摆脱所谓的“记事本空间结束”,我将其读作换行符。

使用正则表达式将双回车符“\n\n”替换为空:

enter image description here

然后,替换管道“\|”带空格“”:

enter image description here

然后,将“_ ~ ~ _”替换为回车“\n”:

enter image description here

这是应该准备好导入 Excel 的最终文本:

enter image description here

希望有帮助! TextPad 是一个很好的工具。

关于excel - VBA - 带有两个行和列分隔符的 Txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37975113/

相关文章:

python - 从 Pandas 到excel的颜色格式

c# - 循环遍历 Excel 工作表并使用 C# 将文本保存到 TXT 文件中

vba - 将表格导出到文本字段但在日期/时间字段中获取 hhmmss

excel - VBA 舍入函数

c# - 使用 WHERE 子句对 Excel 进行 OLE CALL

javascript - 在以下约束下使用 javascript 将数据导出到 Excel

从 ColdFusion 导出的 Excel 列标题位于第 2 行

c++ - 从 VBA 调用 xll UDF

excel - Excel VBA中.Delete和.Clear之间的区别?

sql - 如何在 Excel 工作表中的命名范围上运行 SQL 语句?