Страницы: 1
RSS
VBA: переход внутри ячейки на новую строку с помощью alt+enter
 
Доброго времени суток!

На листе в ячейке A1 запись в две строки. При ее записи весь текст сливается в одну строчку.
Как сделать так, чтобы сохранить данные построчно.... может быть в массиве? а затем после обработки вставить в другую ячейку в таком же виде в две строки обратно...
 
Пока попробуйте в формате ячейки или на ленте поставить галочку/нажать кнопку "переносить текст".
Изменено: Jack Famous - 16.01.2018 14:28:47
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, ладно, понял в чем беда, сначала

пошагово, что я хочу
1) На листе в ячейке A1 запись многострочная через перенос alt+enter (так надо)
2) в vba есть переменная A, в которую я записываю ячейку A1 (при этом текст из многострочного превращается в одну строку - а мне надо, чтобы данная структура сохранялась)
3) какие-то действия с данными
4) нужно вывести в ячейку A2 отредактированную переменную A, но при этом должна быть сохранена первоначальная структура с переносами внутри ячейки (vbLf)
 
Уважаемый Boris05036! В Excel замечательная среда программирования, в которой можно очень быстро проверять различные гипотезы, в частности Вашу.

Код
Sub test()
  Dim a
  a = Range("A1")
  Range("A2") = a
End Sub

Мы видим, что в случае, когда ячейка A1 является многострочной, ячейка A2 также является многострочной (знак vblf никуда не исчезает).
Владимир
 
sokol92, спасибо, вы прав (видимо я уже перегрелся), я понял, но проблема остается, дополню

в итоге данная ячейка уходит затем в htmlbody (outlook) и видимо для него vbLf вещь непонятная
если это возможно в рамках данной темы, то прошу подсказать, как мне в сообщении html сохранить это?

В сообщение вставка происходит с использованием переменной vba
Изменено: Boris05036 - 16.01.2018 13:52:57
 
Excel, он, конечно, умный, но самостоятельно параметр "перенос текста" в ячейках изменять не умеет.  :)
 
Цитата
Boris05036 написал:
для него vbLf вещь непонятная
Код
s=replace(s,vblf,vbcr)

или
Код
s=replace(s,vblf,vbcrlf)
один из вариантов(а может и оба) он должен понять...
Изменено: Апострофф - 16.01.2018 14:16:05
 
Цитата
Апострофф написал:
один из вариантов(а может и оба) он должен понять...
ни один не понял, но спасибо за идею, как-то я сразу недоехал, переменная ведь все равно текстовая, так работает
Код
s=replace(s,vbLf, "<br>")
 
Для более сложных случаев есть метод PublishObjects.Add
Владимир
Страницы: 1
Наверх