Вот пример VBA макроса для Excel, который выполняет описанные действия:
VBA:
Sub DivideAndDistribute()
Dim selectedRange As Range
Dim cell As Range
Dim firstCellValue As Double
Dim dividedValue As Double
Dim cellCount As Integer
‘ Проверяем, выделен ли диапазон
On Error Resume Next
Set selectedRange = Selection
On Error GoTo 0
If selectedRange Is Nothing Then
MsgBox «Выделите диапазон ячеек.», vbExclamation
Exit Sub
End If
‘ Проверяем, является ли первая ячейка числом
If Not IsNumeric(selectedRange.Cells(1, 1).Value) Then
MsgBox «Первая ячейка диапазона должна содержать число.», vbExclamation
Exit Sub
End If
‘ Получаем значение первой ячейки
firstCellValue = CDbl(selectedRange.Cells(1, 1).Value)
‘ Получаем количество ячеек в диапазоне
cellCount = selectedRange.Cells.Count
‘ Делим значение на количество ячеек
dividedValue = firstCellValue / cellCount
‘ Очищаем диапазон
selectedRange.ClearContents
‘ Записываем полученное значение во все ячейки
For Each cell In selectedRange
cell.Value = dividedValue
Next cell
MsgBox «Значение успешно распределено по ячейкам.», vbInformation
End Sub
Как использовать:
1. Откройте Excel и нажмите `Alt + F11`, чтобы открыть редактор VBA.
2. Вставьте новый модуль через `Insert > Module`.
3. Скопируйте и вставьте приведенный выше код в модуль.
4. Закройте редактор VBA.
5. Вернитесь в Excel, выделите диапазон ячеек и запустите макрос через `Alt + F8` (выберите макрос `DivideAndDistribute` и нажмите `Run`).
Что делает макрос:
1. Проверяет, выделен ли диапазон.
2. Проверяет, является ли значение первой ячейки числом.
3. Делит значение первой ячейки на количество выделенных ячеек.
4. Очищает выделенный диапазон.
5. Записывает результат деления поровну во все ячейки выделенного диапазона.
Если у вас возникнут вопросы или потребуется доработка, пишите в комментариях.