Заменить произвольный текст другим текстом.

Автор nbv, 18.07.2014, 12:28

« назад - далее »

nbv

Здравствуйте. Есть столбец A1:A100, в каждой ячейке которого - разный текст. Требуется заменить текст в каждой ячейке этого столбца на текст, который был раньше + текст из соответствующей ячейки другого столбца B1:B100. Функция СЦЕПИТЬ мне знакома, я не соображу как ее результат поместить в столбец А. Подскажите, пожалуйста.

IKor

На мой взгляд проще всего этого добиться при помощи упомянутой функции СЦЕПИТЬ() (или что есть то же самое оператора "&") в столбце C, а затем скопировать (или при необходимости скопировать_только_значения) полученные данные в столбец А.

Кроме того в Вашем распоряжении имеется все многообразие возможностей VBA, начать ознакомления с которыми я бы рекомендовал с использования макрорекодера и описанного выше алгоритма

vikttur

Цитироватья не соображу как ее результат поместить в столбец А
А я вот никак не соображу, где файл с примером?

nbv

IKor, Вы имеете ввиду скопировать вручную или есть специальная функция?

IKor

2 nbv

Существует функция СЦЕПИТЬ(), о которой Вы знаете.
1. Вы _руками_ записываете ее в ячейку С1: например: =СПЕПИТЬ(А1;В1)
2. Затем Вы _руками_ протягиваете или копируете эту функцию во все ячейки нужного диапазона, например С1:С100
3. И наконец, Вы _руками_ копируете результат действия функции из столбца С в столбец А. При этом во избежание ошибки или циклической ссылки необходимо результаты вставлять_как_значения

4. Если Вы собираетесь автоматизировать этот процесс, то перед началом включите макрорекодер, затем выполните действия 1-3, выключите макрорекодер, при необходимости отредактируйте текст макроса и назначте его выполнение на нажатие комбинации клавиш или сделайте кнопку

В сторону:
Функции Excel позволяют изменять значение только той ячейки, в которой они записаны(исключение - {функции массива} - но они не слишком применимы к решению Вашей задачи).

Гипербола:
Пусть у Вас в ячейке А1 было записано значение "старый текст", а Вы хотите "использовать формулу", для того, чтобы в ячейке А1 отображалось "старый текст - лучше новых двух". Для этого заносите в ячейку В1 значение " - лучше новых двух". А затем _меняете_ текст ячейки А1 на формулу =СЦЕПИТЬ("старый текст";B1). Тогда Вы достигнете нужного результата "при помощи формулы". Но эту формулу придется переписывать заново для каждой из ячеек в столбце А заново, т.к. использованная в ней константа "старый текст" относилась лишь к ячейке А1...

Еще дальше в сторону:
В Excel есть понятие _специальная_встатвка_ (копировать, а затем нажать ПКМ на нужной ячейке и выбрать _спец_вставку_), одна из возможностей которой позволяет производить простейшие арифметические действия между вставляемыми значениями и прежними значениями в ячейках. Но эта возможность работает только с числами - тексты сцеплять не получится...

zs

на текст, который был раньше + текст из соответствующей ячейки другого столбца B1:B100 добавить строку

gling

ЦитироватьА я вот никак не соображу, где файл с примером?
и я не пойму
mail: vovik100661@gmail.com;
ЯД-41001506838083.

nbv

IKor, спасибо за обстоятельный и  толковый ответ. К сожалению, не нашел, на что "нажать", чтобы увеличить Вам "уважение"...