Таким образом, если у вас еще нет вкладки «Разработчик», вам нужно перейти в «Параметры»> «Настройка ленты»> «Разработчик»
. Затем нажмите «Редактор VB» на вкладке «Разработчик» и щелкните правой кнопкой мыши в проекте.области и выберите «вставить новый модуль».В новый модуль вставьте этот код и сохраните.
Чтобы упростить запуск, вы можете перейти на вкладку Разработчик> Вставить> Кнопка.Затем щелкните правой кнопкой мыши на кнопке и назначьте ее только что созданному макросу, чтобы при каждом обновлении значений группы элементов можно было нажимать кнопку.Если кнопка не позволяет вам «назначить макрос», возможно, вы вставили кнопку неправильного типа.
Option Explicit
Sub UpdateValues()
Dim itemCol As Long
Dim lastRow As Long
Dim row As Long
Dim lastEnd As Double: lastEnd = 0.0
' set reference to your worksheet
With ThisWorkbook.Worksheets("your sheet name")
' set column with title 'Item_Type' in Row 1
For row = 1 To 20
If Trim(CStr(.Cells(1, i).Value)) = "Item_Type" Then itemCol = i
Next
' find last row of Item_Type column
lastRow = .Cells(.Rows.Count, itemCol).End(xlUp).Row
' loop backwards thru rows
For row = lastRow To 1 Step -1
' if cell contains word 'end'
If InStr(LCase(CStr(.Cells(row, itemCol).Value)), "end") Then
' set our group value
lastEnd = .Cells(row, itemCol+1).Value
' if lowercase(cell) = 'item group'
ElseIf LCase(CStr(.Cells(row, itemCol).Value)) = "item group" Then
' put end value in the cell
.Cells(row, itemCol+1).Value = lastEnd
End If
Next row
End With
End Sub