Страницы: 1
RSS
Вычитание из диапазона ячеек разницы между суммой и значением столбцов, Макрос есть, но есть нюанс
 
Приветствую!

Имеется макрос который вычитает разницу между ячейками в диапазоне значений, но он не берет работу значение если они меньше разницы чисел, каким образом можно добавить дополнительное условие.

Скрытый текст

 
Код
Sub Diff()
   
   DiffRanges Range("C1:C6"), Range("D:M")
   

End Sub

Private Sub DiffRanges(re As Range, rg As Range)

   Dim ae As Variant

   ae = re.Value

   

   Set rg = Intersect(re.EntireRow, rg.EntireColumn)

   Dim ag As Variant

   ag = rg.Value

   

   Dim xg As Long

   Dim ye As Long

   For ye = 1 To UBound(ae, 1)
       
       If ae(ye, 1) <> 0 Then

       For xg = UBound(ag, 2) To 1 Step -1

           'For xg = 1 To UBound(ag, 2)
               If ag(ye, xg) > 0 Then
                   If ag(ye, xg) - 0.01 + ae(ye, 1) > 0 Then

                      ag(ye, xg) = ag(ye, xg) + ae(ye, 1)
                       
                      Exit For
                   Else
                      ae(ye, 1) = ae(ye, 1) + ag(ye, xg) - 0.01
                      ag(ye, xg) = 0.01
                   End If
                End If

           Next

       End If

   Next

   rg.Value = ag

End Sub
 
Можно сделать код и красивее, но неохото стало время тратить, после увиденных названий переменных) Сами ведь завтра уже не будете помнить для чего какая идет....
 
Цитата
написал:
Сами ведь завтра уже не будете помнить для чего какая идет....
Спасибо, а данный макрос тоже был найден на просторах...
Страницы: 1
Наверх