Добавьте точку с запятой к каждому значению (каждой строке) в ячейке - PullRequest
1 голос
/ 16 декабря 2009

У меня есть следующие значения в одной ячейке, пусть будет A1

1234
567
454

Аналогично, все A (N) заполнены значениями. N различных от 1000 до 1500

Я хочу, чтобы это было преобразовано в

1234;567;454 

Доступны ли ярлыки?

1 Ответ

1 голос
/ 16 декабря 2009

Редактировать: Извините, неправильно прочитал ваши вопросы ...

Вы можете написать vba-скрипт так:

Sub test()
  Dim result As String
  result = Replace(ActiveCell.value, Chr(10), ";")
  ActiveCell.Offset(1, 0).Select
  ActiveCell.value = result
End Sub

Он возьмет активную ячейку, заменит все новые строки на точки с запятой и поместит результат в следующую строку.

Редактировать: Другая версия делает это для нескольких ячеек:

Sub test()
  Dim value As String
  Do
    value = ActiveCell.value
    If (value = "") Then Exit Do
    ActiveCell.Offset(0, 1).value = Replace(ActiveCell.value, Chr(10), ";")
    ActiveCell.Offset(1, 0).Select
  Loop While (True)
End Sub

Эта версия будет начинаться с активной ячейки и проходить по всем ячейкам ниже, пока не найдет пустую ячейку.

Замененное значение записывается в ячейку рядом с исходной. Если вы хотите заменить исходное значение, удалите .Offset(0, 1).

Второй параметр - это значение, которое нужно заменить, это Chr(10), символ новой строки в нашем случае.

...