Добрый день! Прошу помочь с написанием макроса (думаю без него не решить проблему).
Есть:
1. Значения в 4 столбцах 2. 114 разных текстов в столбце E
Что нужно:
В каждом тексте указано (например, "keyword from A column" - фраза из столбца А) в каком месте должно стоять значение из определенного столбца в строке в которой находится текст. Например, мы имеем в 3ей строке текст и в нем должны вставляться в определенных местах значения из столбца А3, B3, С3, D3. Соответственно, если текст находится в строке 65, то значения должны браться из А65, B65, С65, D65. Как автоматизировать данный процесс?
Пример прикрепил к теме.
Добрый день! Прошу помочь с написанием макроса (думаю без него не решить проблему).
Есть:
1. Значения в 4 столбцах 2. 114 разных текстов в столбце E
Что нужно:
В каждом тексте указано (например, "keyword from A column" - фраза из столбца А) в каком месте должно стоять значение из определенного столбца в строке в которой находится текст. Например, мы имеем в 3ей строке текст и в нем должны вставляться в определенных местах значения из столбца А3, B3, С3, D3. Соответственно, если текст находится в строке 65, то значения должны браться из А65, B65, С65, D65. Как автоматизировать данный процесс?
Sub replaceValue() Dim awb As Workbook Dim aws As Worksheet Set awb = ActiveWorkbook Set aws = ActiveSheet For i = 2 To 3 aws.Cells(i, 5).Value = Replace(aws.Cells(i, 5).Value, "keyword from A column", aws.Cells(i, 1), 1, 1) aws.Cells(i, 5).Value = Replace(aws.Cells(i, 5).Value, "keyword from B column", aws.Cells(i, 2), 1, 1) aws.Cells(i, 5).Value = Replace(aws.Cells(i, 5).Value, "keyword from C column", aws.Cells(i, 3), 1, 1) Next i End Sub
[/vba]
2. Информация по функции тыц Если хотите заменить все появления findstr, то count=-1 (default)
3. Пример в приложении. Измените i в цикле и протестируйте на 4 строке.
1. Макрос: [vba]
Код
Sub replaceValue() Dim awb As Workbook Dim aws As Worksheet Set awb = ActiveWorkbook Set aws = ActiveSheet For i = 2 To 3 aws.Cells(i, 5).Value = Replace(aws.Cells(i, 5).Value, "keyword from A column", aws.Cells(i, 1), 1, 1) aws.Cells(i, 5).Value = Replace(aws.Cells(i, 5).Value, "keyword from B column", aws.Cells(i, 2), 1, 1) aws.Cells(i, 5).Value = Replace(aws.Cells(i, 5).Value, "keyword from C column", aws.Cells(i, 3), 1, 1) Next i End Sub
[/vba]
2. Информация по функции тыц Если хотите заменить все появления findstr, то count=-1 (default)
3. Пример в приложении. Измените i в цикле и протестируйте на 4 строке.mathiax90
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(Лист2!E2;"keyword from A column";Лист2!A2);"keyword from B column";Лист2!B2);"keyword from C column";Лист2!C2);"keyword from D column";Лист2!D2)
Вариант формулой
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(Лист2!E2;"keyword from A column";Лист2!A2);"keyword from B column";Лист2!B2);"keyword from C column";Лист2!C2);"keyword from D column";Лист2!D2)