Страницы: 1
RSS
Вставка значений в выделенные ячейки
 
Добрый день!

Очень долго пытался добить хотелку сам, благодаря данному форуму и экспертам, но я бревно.

Дорогие форумчане! Выручайте дерево! :cry:
Предполагалось так, я выделяю определенный диапазон ячеек, нажимаю правой кнопкой мыши, нажимаю кнопку в контекстном меню, вношу общее количество в вышедшее сообщение и макрос согласно формуле вставит значения в ячейки.
Но как я говорил выше, до конца я этого сделать не смог.
 
Код
Sub raspred()
    Dim B As Range, X As Double, Y As Double, Y1 As Double, X1 As Double, X2 As Double
    Set B = Application.InputBox("", "выбери мышкой диапазон для деления!", , , , , , 8)
    Dx = B.Value
    X = InputBox("Введите общее количество упаковок", Title)
    Y = Dx(UBound(Dx), 1)
    For n = 1 To UBound(Dx) - 2
        Y1 = Dx(n, 1)
        X1 = Int(Y1 / Y * X)
        B.Cells(1, 1).Offset(n - 1, 1) = X1
 
    Next
End Sub
Изменено: evgeniygeo - 04.09.2018 15:12:55
 
evgeniygeo, копируйте код при русской раскладке клавиатуры - не будет проблем с кириллицей.
Поменяйте в #2.
 
Юрий М,
спасибо, не знал!
 
evgeniygeo, так?
Код
Sub raspred()
    Dim Dx(), X As Long, Y As Double
    If Selection.Columns.Count <> 2 Then
      MsgBox "Должно быть выделено 2 столбца", vbExclamation
      Exit Sub
    Else
      X = InputBox("Введите общее количество упаковок", Title)
      Dx = Selection.Columns(1).Value
      Y = X / WorksheetFunction.Sum(Dx)
      For n = 1 To UBound(Dx)
        Dx(n, 1) = Int(Dx(n, 1) * Y)
        X = X - Dx(n, 1)
      Next
      Dx(n - 1, 1) = Dx(n - 1, 1) + X 'коррекция последнего значения
      Selection.Columns(2).Value = Dx
    End If
End Sub
В данном примере нужно выделять E4:F10 и E14:F16
Изменено: Казанский - 04.09.2018 15:58:52
 
Казанский,
именно так!
Огромное спасибо Вам!
Страницы: 1
Наверх