У меня есть электронная таблица с большим количеством путей к файлам в них. Я использую следующую формулу, чтобы заменить последнее вхождение «\» в каждой ячейке столбца. Как я могу изменить это на макрос, поэтому мне не нужно вставлять и перетаскивать каждый столбец.Заменить Последнее появление символа
=SUBSTITUTE(K2,"\","?",LEN(K2)-LEN(SUBSTITUTE(K2,"\","")))
Я попытался записать макрос, и это работает, но только на одной клетке, и только, если активная ячейка находится в колонке O
Sub Macro4()
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(RC[-4],""\"",""?"",LEN(RC[-4])-LEN(SUBSTITUTE(RC[-4],""\"","""")))"
Range("O2").Select
End Sub
Мне нужно, чтобы это поместить значение в столбце O начиная с O2 для каждого непустого K, начинающегося с K2, независимо от того, что представляет собой активная ячейка.
Почему бы не определить диапазон, и сделать цикл для каждой ячейки? – Tyeler
Найти последнюю строку в K поместите ее в переменную типа 'lstRw', тогда вы можете просто:« Диапазон («O2: O» и lstrw) .FormulaR1C1 = _ »= SUBSTITUTE (RC [-4]," "\ "", ""? "", LEN (RC [-4]) - LEN (SUBSTITUTE (RC [-4], "" \ "", "" ""))) "' для того, чтобы найти последнюю строку см. здесь: http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba –
Спасибо, дайте ему попробовать и опубликовать мои результаты. – Nolemonkey