【发布时间】:2017-02-07 18:05:09
【问题描述】:
我一直为此头疼。
我的第一张工作表包含这些按钮:
这是传输文件:
因此,我尝试将仅包含(在本例中)1 月和 2 月日期的行粘贴到“2016”工作表中。
这是我现在使用的代码:
If CheckBoxJanuary.Value = True Then
Worksheets("2016").Range(Worksheets("2016").Cells(2, 1), Worksheets("2016").Cells(janCount, 13)).Value = Worksheets("transportFile").Range(Worksheets("transportFile").Cells(2, 1), Worksheets("transportFile").Cells(janCount, 13)).Value
End If
If CheckBoxFebruary.Value = True Then
Worksheets("2016").Range(Worksheets("2016").Cells(janCount + 1, 1), Worksheets("2016").Cells(janCount + febCount, 13)).Value = Worksheets("transportFile").Range(Worksheets("transportFile").Cells(janCount + 1, 1), Worksheets("transportFile").Cells(janCount + febCount, 13)).Value
End If
“janCount”和“febrCount”表示包含一月和二月日期的行数。这是在传输文件中使用
计算的"=SUMPRODUCT(--(MONTH($A$2:$A$150)=1))"
和
"=SUMPRODUCT(--(MONTH($A$2:$A$1500)=2))"
之后,我运行一个循环来删除 2016 工作表中的空行。
现在我有两个问题:
- 在一月份的 sumproduct 公式中,我不得不缩小范围,因为 excel 将每个空单元格计为一月份的单元格。现在快十月了,所以现在这不是问题。但在 2017 年,当还没有数据时,将有 150 个 1 月日期。我该如何解决?
- 如果有人(错误地)在二月之间设置了三月,我的范围就会一团糟。我怎样才能避免这种情况?
【问题讨论】: