Excel. Удаление данных из ячейки, соответств. данным другой.

Программирование на Visual Basic for Applications
CubaLibra
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 8
Зарегистрирован: 27.01.2006 (Пт) 1:40
Откуда: дас Москау

Excel. Удаление данных из ячейки, соответств. данным другой.

Сообщение CubaLibra » 28.01.2006 (Сб) 16:58

Есть две ячейки. В правой, через " / ", перечислены некие номенклатуры ("A123B / A123 / 123C", например). В левой только одна номенклатура ("А123").

Т. е. разделителем номенклатур можно считать "/". Или так: номенклатурой можно считать символы, либо с первого в ячейке до первого "/", либо с последнего до последнего "/" в ячейке, либо символы между двумя "/". Пробелы не учитываются, их в номенклатурах нет.

Из правой, построчно, необходимо удалять номенклатуру, в точности повторяющую весь набор, поледовательность и количество символов, как в левой. При этом необходима предварительная проверка на вхождение данных, так как перечисление в правой ячейке не обязательно содержит то, что в левой.

Если не затруднит, пожалуйста приведите код для макроса. Благодарю.
атас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.01.2006 (Вс) 5:26

Чё макрос-то сразу... формулами, формулами...

Если A - номенклатура и B - список номенклатур, то
C1 =ПОДСТАВИТЬ(B1; " "; "")
D1 =ПСТР(C1;1;ДЛСТР(A1)+1)=A1&"/"
E1 =ПСТР(C1;ДЛСТР(C1)-ДЛСТР(A1);ДЛСТР(A1)+1)="/"&A1
F1 =НАЙТИ("/" & A1 & "/";C1)
G1 =ЕСЛИ(D1;ПРАВСИМВ(C1;ДЛСТР(C1)-ДЛСТР(A1)-1);ЕСЛИ(E1;ЛЕВСИМВ(C1;ДЛСТР(C1)-ДЛСТР(A1)-1);ЕСЛИ(ЕОШИБКА(F1);C1;ЛЕВСИМВ(C1;F1-1) & ПРАВСИМВ(C1;ДЛСТР(C1)-F1-ДЛСТР(A1)))))

c, d, e, f скрыть.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CubaLibra
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 8
Зарегистрирован: 27.01.2006 (Пт) 1:40
Откуда: дас Москау

Сообщение CubaLibra » 29.01.2006 (Вс) 23:36

GSerg, огромное спасибо, всё прекрасно фунциклирует.
атас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 71

    TopList