Снова я в затруднении. Нужно вставить (точнее заменить) значения ячеек построчно, но до определенной строки. Триггером номера строки будет являться изменение названия МЭС. То есть начиная с "Аргентинские МЭС", должно доходить до "Боливийские МЭС" и т.д. Если кто-то найдет свой способ замены, буду только признателен.
написал: с "Аргентинские МЭС", должно доходить до "Боливийские МЭС"
а что , куда построчно вставлять заменять - ничего не понятно. Просто определить диапазон от-до? тогда поиск по столбцу МЭС. Следующий результат дает следующий диапазон. Не нашли следующего, значит до конца используемого диапазона. Вааще не нашли - значит совсем не те данные.
Sub Substit()
Dim i As Long, s As String: Application.ScreenUpdating = False
For i = 4 To [A:A].Find("Итого", LookAt:=xlWhole).Row - 1
If Cells(i, 1) Like "* МЭС" Then s = Cells(i, 1) Else Cells(i, 1) = s
Next
End Sub
let
from =Excel.Workbook(File.Contents(fParam("Path"))){[Name="Лист_1"]}[Data],
tr=Table.TransformColumns(from,{"Column1",(x)=>Text.From(x)??""}),
add=Table.AddColumn(tr,"МЭС",(x)=>if Text.Contains(x[Column1],"МЭС") or Text.Contains(x[Column1],"Итог") then x[Column1] else null),
to=Table.PromoteHeaders(Table.CombineColumns(Table.FillDown(add,{"МЭС"}),{"МЭС","Column1"},(x)=>x{0}??x{1},"МЭС"))
in
to