首页 > 解决方案 > 使用模式分割线

问题描述

我的情况是这样的:

我有一个工作簿,其中我从 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 在单独的工作表中它工作得很好,但在我的代码循环中它不能正常工作

标签: excelvbasplit

解决方案


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

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

Excel 使用该SUBSTITUTE功能可以很容易地做到这一点。

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

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

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

现在你可以:

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

我希望这能解决问题!


推荐阅读