需要在一个列中填充空白,并在该月的升序日期中填写

时间:2018-04-18 13:11:52

标签: excel vba

我有一个工作簿,可以在单独的工作表中创建每日报告,并在月底点击一个按钮,该按钮可以从所有单独的每日工作表中创建月度汇总表。创建月度汇总表的代码有一些行,每10行插入一个空行,因为第二天的数据每10行开始一次。

我现在要做的是找到将日期插入新创建的空行的A列的代码。因此,第一个新创建的空行中的列A将包含1/1/2018,第二个新创建的空行将具有1/2/2018,依此类推。

这是我当前的代码,如果您对添加到其中的内容有什么想法,请在新创建的空行中插入日期。我不知道如何实现的另一个可能的解决方案是将每个工作表的标题复制到每第10行,因为每个工作表都只是标题为日期。

Sub Create_new_rows()

Dim rng As Range
Dim cell As Range
Set rng = Range("C8:C3276")

For Each cell In rng

If ActiveCell.Value = "Total" Then
ActiveCell.Offset(1, 0).Activate
ActiveCell.EntireRow.Insert
End If

Next cell

End Sub

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

基于评论:

  

在这个月的最后一天总会被按下。所以我愿意   已经在3月30日压了它,因为这是最后一个工作日   游行。

您只需要添加一个跟踪当天的变量,然后在If cnt = 10 Then块中使用该变量。

添加此变量:

Dim DayIndex as Date:   DayIndex = CDate(Evaluate("DATE(YEAR(TODAY()),MONTH(TODAY()),1)"))

然后:

  If cnt = 10 Then
    Rows(rw).Insert Shift:=xlDown
    Cells(rw, "A").Value = DayIndex
    Cells(rw, "A").NumberFormat = "d/m/yyyy"
    DayIndex = DayIndex + 1
    cnt = 1
    lr = Range("A" & Rows.Count).End(xlUp).Row
  Else