разделение линий с использованием шаблонов - PullRequest
0 голосов
/ 17 мая 2019

Моя ситуация такова:

У меня есть рабочая книга, в которой я беру адреса из столбца 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 Ответ

1 голос
/ 17 мая 2019

Поскольку вы хотите разделить 3-ю запятую, вы можете сделать это немного по-другому:

  1. Просто замените 3-ю запятую на символ, который, как вы знаете, не появится в текстев противном случае, например, символ |.

Excel делает это очень просто, используя функцию SUBSTITUTE.

Так, например, предположим, что у вас есть текстAgia, Agia, 40003, skiathos, skiathos 37002 в ячейке L1, вы можете заменить третью запятую на | символ, используя следующую функцию:

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

Чтобы новый (замещенный) текст стал: Agia, Agia, 40003| skiathos, skiathos 37002

Теперь вы можете:

  1. Заменить все остальные запятые, если они вам больше не нужны
  2. Использовать Data> Text to columns и разделить на основе новых | персонаж, который будет появляться только там, где вы хотите.

Я надеюсь, что сработает!

...