我正在尝试计算2列中值之间的比率,并将其放入电子表格的第3列。
我无法弄清楚如何在宏的循环中编写它以及在那里使用什么函数。
我在A列和B列中有值。我试图提取C列中2列的比例,它应该包含A / B.
这就是我所做的。
Sub Engagement_Ratio()
Range("Z1").Select
ActiveCell.FormulaR1C1 = "Engaged User Rate"
Range("Z2").Select
ActiveCell.FormulaR1C1 = "=(RC[-12]/RC[-15])"
Range("Z2").Select
Selection.AutoFill Destination:=Range("Z2:Z154")
Range("Z2:Z154").Select
ActiveWindow.SmallScroll Down:=-27
End Sub
如何使细胞范围变得动态?这样它只对具有值的单元格范围起作用。我如何把它计算在上面呢。
答案 0 :(得分:0)
这就是我所做的。
Sub Engagement_Ratio()
Range("Z1").Select
ActiveCell.FormulaR1C1 = "Engaged User Rate"
Range("Z2").Select
ActiveCell.FormulaR1C1 = "=(RC[-12]/RC[-15])"
Range("Z2").Select
Selection.AutoFill Destination:=Range("Z2:Z154")
Range("Z2:Z154").Select
ActiveWindow.SmallScroll Down:=-27
End Sub
如何使细胞范围变得动态?这样它只对具有值的单元格范围起作用。我如何把它计算在上面呢。
答案 1 :(得分:0)
假设列A填充到数据的底部:
Sub Test2()
Dim LastRow As Integer
LastRow = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, After:=[A1]).Row
Range("Z1").Value = "Engaged User Rate"
For i = 2 To LastRow
If Cells(i, 14).Value > 0 Then Cells(i, 26).Value = Cells(i, 14).Value / Cells(i, 11).Value
Next i
ActiveSheet.sort.SortFields.Clear
ActiveSheet.sort.SortFields.Add Key:=Range("Z2:Z" + CStr(LastRow)) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal 'sort by sort code
With ActiveSheet.sort
.SetRange Range("A1:Z" + CStr(LastRow))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub