我正在处理Excel报告。我在这个网站上得到了一些帮助,编辑了我的代码,但我被困在一个地方,不知道如何继续。所以我在这里有代码:
Dim xlStartCol As Long
xlStartCol = xlCol
Do While Not g_RS3.EOF
With xlSheet.Cells(xlRow, xlCol)
.Resize(1, 2).Merge
.Value = "TEST" 'g_RS3("ShortLabel")
.Offset(1, 0).Resize(1, 2) = Array("Clients", "Students")
.Offset(2, 0).Resize(1, 2).ClearContents
With .Offset(0, 1)
.Resize(1, 2).Merge
.Value = "Total" 'keep writing Total to the right; it will be overwritten if there is another ShortLabel
.Offset(1, 0).Resize(1, 2) = Array("Clients", "Students")
.Offset(2, 0).Resize(1, 2).Formula = _
"=SUMIFS(" & Range(.Parent.Cells(xlRow + 2, xlStartCol), .Parent.Cells(xlRow + 2, xlCol + 1)).Address(0, 1) & Chr(44) & _
Range(.Parent.Cells(xlRow + 1, xlStartCol), .Parent.Cells(xlRow + 1, xlCol + 1)).Address(1, 1) & Chr(44) & _
.Parent.Cells(xlRow + 1, xlCol - 1).Address(1, 0) & Chr(41)
End With
With .Resize(2, 4)
.Font.Bold = True
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.Borders.Weight = xlThin
End With
End With
xlCol = xlCol + 2
g_RS3.MoveNext
Loop
这使我的报告看起来像这样。我尝试做的是使用fillDown属性自动填充范围[公式在TOTAL下2个位置,一个在客户端下,一个在学生下面。 sumifs:客户端从一个单元格转到另一个单元格,并获取每个TEST标题的客户端数量,与“学生”相同(此行 - 公式所在的位置):和+ 6行向下。基本上我想在所有7行中都有公式。请帮帮我。看下面这段代码的图片。
答案 0 :(得分:1)
制作公式后如何坚持这句话
.Offset(2, 0).Resize(1, 2).AutoFill .offset(2,0).Resize(7,2)
答案 1 :(得分:1)
您也可以这样做
Range("J4:J10").Formula = "=yourformulahere"