【问题标题】:line splitting using patterns使用模式分割线
【发布时间】:2019-05-17 07:16:06
【问题描述】:

我的情况是这样的:

我有一个工作簿,其中我从 L 列中获取地址并将它们粘贴到 Y 列中的另一个工作簿中

地址是这样的:

Analipseos, Katerinis, 60500
Ermioni, Ermioni, 21051, Alkistis, Alkistis, 21052
Agia, Agia, 40003, skiathos, skiathos 37002
  1. 每次有逗号时我都想分割每一行,
  2. 有没有办法拆分前三个,例如从 Agia, Agia, 40003, skiathos, skiathos 37002 拆分 Agia, Agia, 40003,其余的 skiathos, skiathos 37002 粘贴到其他位置,例如 B 列中。

注意:我不希望将逗号粘贴到任何地方。

有人可以帮忙吗?

我在循环中尝试了这段代码:Sub tst() Application.DisplayAlerts = False Range("A2", Range("A" & Rows.Count).End(xlUp)).TextToColumns Range("B2"), xlDelimited, , , , , True Application.DisplayAlerts = True End Sub 在单独的工作表中它工作得很好,但在我的代码循环中它不能正常工作

【问题讨论】:

  • 你能告诉我们你到目前为止尝试过的代码吗?
  • 请注意,这不是免费的编码服务:开始使用Loop 和Split function。自己尝试一下,如果您遇到问题并且代码和实际问题(Why is “Can someone help me?” not an actual question?)出现错误。
  • @ManosAlexopoulos 请将其添加到您的问题中。不要将其添加为评论。

标签: excel vba split


【解决方案1】:

由于您想在第 3 个逗号处进行拆分,因此可以采用稍微不同的方式:

  1. 只需将第三个逗号替换为您知道否则不会出现在文本中的字符,例如 | 字符。

Excel 使用 SUBSTITUTE 函数使这变得非常容易。

例如,假设您在单元格L1 中有文本Agia, Agia, 40003, skiathos, skiathos 37002,您可以使用以下函数将第三个逗号替换为| 字符:

=SUBSTITUTE(L1,",","|",3)

使新的(替换的)文本变为:Agia, Agia, 40003| skiathos, skiathos 37002

现在,您可以:

  1. 如果不再需要所有其他逗号,请替换它们
  2. 使用Data > Text to columns 并根据新的| 字符进行拆分,该字符只会出现在您想要的位置。

我希望这能解决问题!

【讨论】:

  • 我很高兴@ManosAlexopoulos。由于您是新来的,除非您正在寻找另一种解决方案,否则请将您使用的解决方案标记为解决方案,以便其他人在搜索相同问题时知道什么对您有用...
猜你喜欢
  • 1970-01-01
  • 2017-03-04
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 2017-11-16
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
相关资源
最近更新 更多