使用模式分割线

时间:2019-05-17 07:16:06

标签: excel vba split

我的情况是这样:

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

1 个答案:

答案 0 :(得分:1)

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

  1. 用您不会在文本中出现的字符简单地替换第三个逗号,例如|字符。

Excel使用SUBSTITUTE函数使此操作非常容易。

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

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

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

现在,您可以:

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

我希望能成功!