ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   copy and paste loop (https://www.excelbanter.com/excel-programming/285149-copy-paste-loop.html)

Dillonstar[_5_]

copy and paste loop
 
I have a suite of reports driven by daily bottom line numbers. One of
these numbers is an aged backlog, which is fine for today however
retrospectively does not work (Log is updated with no audit trail)

Due to this I have recreated the log to work retrospectivley i.e. by
entering a date the report will generate all my aged backlogs correct
for that day. The resulting data for that date is a simple range.

What I'd like to do to automate the creation of this data quickly is to
have a macro which starts on the date my data begins (01/04/03), copies
the range, pastes as values into a separate sheet (next blank cell
down), then loops by incrementing the date, until date equals todays
date.


Any assistance would be most appreciated

Steve S


---
Message posted from http://www.ExcelForum.com/


Izar Arcturus

copy and paste loop
 
Try this:

CurrentDay = "1/4/03"
Counter = 0
Do While Format(CurrentDay, "m/d/yy" < Format _
(Date, "m/d/yy")
Range("A1").Select
Set CurrentDay = Cells.Find(what:=Format(DateAdd("d", _
Counter, CurrentDay), "m/d/yy"), _
after:=ActiveCell, LookIn:= xlValues, _
lookat:=xlPart, Searchorder:=xlByRows)
If Not CurrentDay Is Nothing Then
CurrentDay.Select
Range(ActiveCell, ActiveCell.Offset(X,Y)).Copy
Sheets(SeparateSheet).Activate
ActiveCell.PasteSpecial
ActiveCell.Offset(X + 1, 0).Select
Sheets(OriginalSheet).Select
End If
Counter = Counter + 1
Loop

1) You should change "X" and "Y" to the numbers of cells
you need to offset to copy the whole range.
2) You will need to set the variable "SeparateSheet" to
the sheet where you want to copy the range
and "OriginalSheet" to the sheet where you are copying
from.
3) Depending on how you have recorded your dates you may
need to change all the formatted dates in the code above
to something like "mm/dd/yy" instead of what I have
entered - "m/d/yy"
4) I use something like this in a macro of mine but I have
not actually run this code so you may need to adjust it a
bit before it does what you want.

-IA

-----Original Message-----
I have a suite of reports driven by daily bottom line

numbers. One of
these numbers is an aged backlog, which is fine for today

however
retrospectively does not work (Log is updated with no

audit trail)

Due to this I have recreated the log to work

retrospectivley i.e. by
entering a date the report will generate all my aged

backlogs correct
for that day. The resulting data for that date is a

simple range.

What I'd like to do to automate the creation of this data

quickly is to
have a macro which starts on the date my data begins

(01/04/03), copies
the range, pastes as values into a separate sheet (next

blank cell
down), then loops by incrementing the date, until date

equals todays
date.


Any assistance would be most appreciated

Steve S


---
Message posted from http://www.ExcelForum.com/

.



All times are GMT +1. The time now is 10:17 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com