VBA деление по последнему значению - PullRequest
0 голосов
/ 23 октября 2018

У меня есть такая таблица

Column A    Column B
 5            25
 4            20
 8            40
 3            15
20           100

enter image description here

Я хочу использовать скрипт vba, чтобы выбрать последнее значение из столбца A для деления как =A1/last Value Form coumn A*100

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

Если вы ищете решение в Excel-VBA, то вот оно ...

Sub test()

Dim result As Variant
Dim firstvalue As Variant
Dim secondvalue As Variant
firstvalue = Range("A1").Value
secondvalue = Range("A" & Cells(Rows.Count, 2).End(xlUp).Row).Value
result = (firstvalue / secondvalue) * 100

End Sub
0 голосов
/ 23 октября 2018

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

Option Explicit
Public Sub DivideByLastValue()
    Dim lastRow As Long, arr(), i As Long, divisor As Double
    With ThisWorkbook.Worksheets("Sheet1")
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        arr = .Range("A1:B" & lastRow).Value
        divisor = arr(UBound(arr, 1), 1)
        For i = LBound(arr, 1) To UBound(arr, 1)
            arr(i, 2) = arr(i, 1) / divisor * 100
        Next
        .Cells(1, 1).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
    End With
End Sub
0 голосов
/ 23 октября 2018

Поместите это в B1 и скопируйте вниз.

=A1/LOOKUP(2,1/A:A,A:A)*100

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...