Перейти к содержимому

Макрос VBA, который делит число из первой ячейки выделенного диапазона на количество ячеек и заполняет их полученным значением.

     

     

    Вот пример 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. Записывает результат деления поровну во все ячейки выделенного диапазона.

    Если у вас возникнут вопросы или потребуется доработка, пишите в комментариях.

     

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

    Политика конфиденциальности

    Наш сайт использует файлы cookies, чтобы улучшить работу и повысить эффективность сайта. Продолжая работу с сайтом, вы соглашаетесь с использованием нами cookies и политикой конфиденциальности.

    Принять