我正在尝试建立一个可以的报告:
1.循环个别日期
-----并将每个日期设置为范围。
我需要循环来查找范围内的所有行
-----价值"个人",
-----将每行的D列中的相应值与个体
相加
-----并将此总和值粘贴到另一张表中。
3.如果未找到值(个人),则
-----输出单元需要向下移动一行,
----------没有填写任何内容(或填写0)所以日期将在最后匹配。
----------(如果输出单元格没有向下移动,则
---------------输出数据将显示错误日期的值。)
数据源设置:
数据的问题我有格式不一致。
这意味着 第一行 有时会有所不同。虽然 总是以"个人..." 开头。我所拥有的一致性是 日期格式为粗体 。
问题:
如果日期之后的第一行被称为"个人回访客户",我的代码非常有效。但是,如果不是这种情况,它当然会跳过几个日期并提供不正确的输出。我认为循环数据的最佳方法是根据粗体格式设置范围。
问题:
我怎么能这样做?
这是我到目前为止的代码:
Sub mm()
Dim iArea As Long
With Worksheets("FC01.RPT")
.Cells(.Rows.Count, 1).End(xlUp).Offset(2) = "Individual Rate Guest"
With .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
.AutoFilter field:=1, Criteria1:="Individual Rate Guest"
With .Resize(.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Offset(-1)
For iArea = 1 To .Areas.Count - 1
With .Parent.Range(.Areas(iArea).Offset(1), .Areas(iArea + 1).Offset(-1))
Worksheets("Plan").Cells(.Rows.Count, "D").End(xlUp).Offset(1).Value = WorksheetFunction.SumIf(.Cells, "Individual*", .Offset(, 3))
End With
Next
End With
End With
.AutoFilterMode = False
.Cells(.Rows.Count, 1).End(xlUp).ClearContents
End With
End Sub
我愿意接受建议。谢谢你的帮助!