Найти и заменить альтернативу? Вместо «ЗАМЕНИТЬ», просто добавить текст в существующую ячейку? - PullRequest
0 голосов
/ 22 апреля 2020

Мне нужно отсортировать список товаров, который содержит более 40000 строк, и с некоторыми из этих элементов связан размер, но sku для элемента одинаков, независимо от размера. НО, есть отдельный столбец для размера для каждого элемента, проще говоря, я хочу добавить размер, пример: если элемент имеет размер столбца маленький, я просто хочу добавить «-small» в конце существующего SKU .

Я пытаюсь найти способ «найти и заменить все», за исключением того, что я не хочу «заменять». Я просто хочу добавить определенное слово в существующие столбцы с условием, что « size "is.

Нужно ли создавать VBA для этого конкретного c приложения? Или простая / существующая функция доступна для ситуации такого типа?

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Вы можете сделать это просто с помощью функции Excel, хотя вам нужно будет выделить столбец для вашего нового SKU. Используемая формула будет =IF(B2<>"",CONCAT(A2,"-",B2),A2), где A2 - это ячейка с исходным SKU, а B2 - это ячейка с размером. Конечно, вы могли бы сделать это и с VBA довольно легко, и в этом случае вы могли бы избежать добавления дополнительного столбца для отформатированного SKU. Если это важно для вас, просто отредактируйте свой вопрос, и я могу привести пример того, как это будет выглядеть.

SKU example

0 голосов
/ 22 апреля 2020

Если вы хотите просто добавить размер к номеру SKU, вы можете использовать vba для l oop через каждую ячейку в столбце SKU, добавить «-» и значение из столбца Size. Пример ниже. В приведенном ниже примере используется Col A в качестве столбца SKU и Col B в качестве столбца Size, при необходимости измените номера столбцов и таблицу.

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet2")

For x = 2 To ws.Range("A" & ws.Rows.Count).End(xlUp).Row
    ws.Cells(x, 1).Value = ws.Cells(x, 1).Value & "-" & ws.Cells(x, 2).Value
Next x
...