以下代码检查主页上的任何行是否包含一年前或更早的日期。如果确实如此,它会将其复制到“存档”工作表并从主页面中删除它。但是,它现在所做的只是从主页面复制并覆盖存档页面上已存在的内容,而不是添加到最后一行。我从LastRow函数中尝试了Subbing,但是我在使用它时遇到了错误。任何人有更好的解决方案?将单元格移动到最后一行而不会擦除现有的
Sub TestDateTransfer()
With Application
PrevCalc = .Calculation
.Calculation = xlCalculationManual
.Cursor = xlWait
.Calculate
.EnableEvents = False
.ScreenUpdating = False
End With
Application.DisplayAlerts = False
Worksheets("Archive").Activate
Range("A3:I1000").Select
Selection.ClearContents
Worksheets("Main Page").Activate
Dim MyDate As Date
MyDate = "03/27/2017"
Set i = Sheets("Main Page")
Set E = Sheets("Archive")
Dim d
Dim j
d = 2
j = 2
Do Until IsEmpty(i.Range("C" & j))
If i.Range("C" & j) <= MyDate - 365 Then
d = d + 1
E.rows(d).Value = i.rows(j).Value
End If
j = j + 1
Loop
Worksheets("Archive").Activate
ActiveSheet.Range("H1").Select 'To unselect the page
Worksheets("Main Page").Activate
MyDate = "03/27/2017"
Dim y
Dim z
y = 2
z = 2
Do Until IsEmpty(i.Range("C" & z))
If i.Range("C" & z) <= MyDate - 365 Then
y = y + 1
i.rows(z).Delete
End If
z = z + 1
Loop
With Application
.Cursor = xlDefault
.Calculate
.Calculation = PrevCalc
'.ScreenUpdating = True 'Not Needed...
.EnableEvents = True
End With
ActiveSheet.Range("H1").Select
End Sub
工作表Sheet1将需要的是什么表#:) –
嗯,究竟你建议我插入此?请在E.rows(d).Value? – dwirony
我把它放在那里,现在它只替换A列,仍然被覆盖/覆盖O.O – dwirony