Я создаю электронную таблицу, полную продуктов для интернет-магазина, и мне действительно нужна помощь в одном из полей.
У меня есть родительский продукт с несколькими дочерними продуктами (например, футболки разных размеров и цветов).
Для простоты давайте поработаем с двумя цветами (красный и синий) и двумя размерами (маленький и большой) — это дает 4 возможных различных комбинации продукта (например, маленький красный, маленький синий, большой красный и большой синий).
Эти данные перечислены на моем листе следующим образом:
sku colour size price
t-shirt-rs red small 0
t-shirt-rl red large 2
t-shirt-bs blue small 0
t-shirt-bl blue large 2
В настоящее время; вот сложная часть - в строке родительского продукта мне нужно объединить все вышеуказанные данные в одну ячейку следующим образом:
"t-shirt-rs[red#small[0;t-shirt-rl[red#large[2;t-shirt-bs[blue#small[0;t-shirt-bl[blue#large[2"
«[» отделяет каждое новое название дочернего продукта (sku) от его опций, а «#» отделяет опции дочернего продукта, затем следует еще один «[», чтобы отделить корректировку цены, а затем «;» между каждым дочерним продуктом
Вышесказанное вообще имеет смысл??
1-й родительский продукт, который я должен загрузить, имеет 4 варианта (размер, цвет, мотив и материал), и каждый вариант имеет до 9 вариантов (4 размера, 9 цветов, 6 мотивов и 2 материала). Думаю, я смотрю на (4x9x6x2=) 432 дочерних продукта, которые сделают очень длинную ручную конкатенацию.
Я мог бы сделать простой =A2 & "[" & B2 & "#" & C2..... в нужной мне ячейке, но я боюсь, что это займет вечность.
Я надеюсь, что смогу перечислить дочерние продукты, как указано выше (с большим количеством копирования и вставки: o), а затем использовать vba для объединения в одну ячейку и добавления [, # и; во всех нужных местах.
Я полагаю что-то вроде:
with the first row
(add " symbol?) & 1st cell & "[" & 2nd cell & "#" & 3rd cell & "#" & 4th cell .....
move down one row
same as above
keep going until I run out of child products??
add final " symbol
Я новичок в VBA, поэтому не знаю, с чего начать. Может ли кто-нибудь указать мне в правильном направлении?
Спасибо, Алан
= F1 & E2
выше только подбирал часть до и включая первый тире во 2-й ячейке до самого низа. Я решил это, изменив форматирование столбца с «Общее» на «Текст». 25.04.2014