【发布时间】:2023-01-13 02:31:51
【问题描述】:
[将A2复制到E2直到表格行尾,检查单元格是否在同一个月内](https://i.stack.imgur.com/Q7YAx.png)
你好,
我想通过定义一个变量并计算表的最后一行来循环遍历表中的行,从 A2 列到 E2 列到 A3 列到 E3 列...直到 Ai 到 Ei 表的末尾。
作为第二步,我想将单元格复制到另一个工作表中并填写相应的月份。
[Desired Output--> 会复制数据并返回对应月份的另一个sheet] (https://i.stack.imgur.com/zhgYh.png)
相反,我将数据类型更改为数字格式并设置了两个循环条件。
例如。 1/1/2017 更改为 42736
28/2/2017 更改为 42794
Sub Mike_Copy_cell()
Dim i As Long 'for looping inside each cell
Dim myvalue As Variant
Dim Lastrow As Long
Const StartRow As Byte = 2
Dim LastMonth As Long
("Mike Filter").Select
Lastrow = Range("A" & StartRow).End(xlDown).Row
For i = StartRow To Lastrow
myvalue = Range("H" & i).Value
If myvalue \< Sheets("Automate Report").Range("A" & i).Value \_
'First data Feb Data 42794 \< Jan Category 42736
Then Sheets("Automate Report").Range("B" & i).Value = ""
'leave the cells in blanks and loop through next cell
If myvalue > Sheets("Automate Report").Range("A" & i).Value _
'First data Feb Data 42794 > Jan Category 42736
Then Range("A" & i, "E" & i).Copy Sheets("Automate Report").Range("B" & i, "F" & i)
'Copy the cells into corresponding category
Next i
End sub()
在我的输出中,它能够遍历并复制所有单元格。但是,我想知道满足第一个条件时 VBA 输出不能留下任何空白单元格的原因?
**如果不是数据不在同一个月内或者在我的情况下低于我设置的标准,我希望表格中有一些空白。 **
If myvalue < Sheets("Automate Report").Range("A" & i).Value _ 然后 Sheets("Automate Report").Range("B" & i).Value = ""
如果您能指出我代码中的缺陷,将不胜感激。非常感谢。
最好的祝福, 肯尼斯
【问题讨论】: