Excel VBA 循环使用相对引用并需要公式中的固定单元格

Excel VBA loop using relative references and needing a fixed cell in the formula

我正在编写两个循环。第一个循环对一列求和 14 次,然后遍历工作簿中的每个工作表,直到计算完所有工作表。第二个循环更复杂。如果您手动输入公式,则公式应为 =(OFFSET(N39, -1, 0, 1, 1)) / (OFFSET($N$39, -1, -1, 1, 1 ))。这个公式应该循环 13 次。每次计算时,它应该给出总桶的百分比,例如,它可以告诉您 93% 的应收账款是当前的,然后 2% 是 1-10 天,然后 1.5% 是 11-迟到 30 天,等等。我不知道如何编写计算每列百分比的循环代码。下面是我的代码:

    Sub Totals()
      Dim LastCell As Range
        For Each e In Worksheets
            e.Activate
            Range("M1").Select
                For i = 1 To 14
                    Set LastCell = Cells(Columns.Count, ActiveCell.Column).End(xlUp)
                    LastCell.Offset(1).Value = WorksheetFunction.Sum(Range(LastCell.End(xlUp), LastCell))
                    ActiveCell.Offset(0, 1).Select
                Next i
          ActiveCell.Offset(1, 0).Select
        Next e

            For Each d In Worksheets
            d.Activate
            Range("N1").Select
                For g = 1 To 13
                    Set LastCell = Cells(Columns.Count, ActiveCell.Column).End(xlUp)
                    LastCell.Offset(1).Value = "=(Offset(N39, -1, 0, 1, 1)) / (Offset($N, -1, -1, 1, 1))"
                    ActiveCell.Offset(0, 1).Select
                Next g
            Next d
    End Sub

第一个循环工作正常。但是,第二个循环没有。

最终结果:

尝试将 For 循环更改为以下内容:

x = 1
For g = 14 To 26
lastrow = ActiveSheet.Cells(Rows.Count, "N").End(xlUp).Row + 1
ActiveSheet.Cells(lastrow, g).Value = "=R[-1]C/R[-1]C[-" & x & "]"
x = x + 1
Next g

我现在已经对此进行了测试并且它可以正常工作...