Sub getdaily()
Const DailyFolder = "c:\temp"
Workbooks.Open (DailyFolder & "\DailyData.xls")
DailyDate = Range("A1")
ThisWorkbook.Activate
LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
Set DateRange = Range(Cells(1, "B"), Cells(1, LastColumn))
For Each cell In DateRange
If cell = DailyDate Then
With Workbooks("DailyData.xls").ActiveSheet
cell.Offset(rowoffset:=1, columnoffset:=0) = _
.Range("A3")
cell.Offset(rowoffset:=2, columnoffset:=0) = _
.Range("B3")
cell.Offset(rowoffset:=3, columnoffset:=0) = _
.Range("C3")
End With
Exit For
End If
Next cell
End Sub
"Tiger" wrote:
> I have 2 spreadsheets, dailydata and datamonth. I need a macro which looks up
> the date in dailydata which is in a fixed location, and then finds the
> matching date in datamonth across a row of monthly dates (e.g. 01 jul to 31
> jul) and pastes values from dailydata below the matching date in datamonth.
>
> dailydata
> 3-Jul-07
> Start End time
> 1 7 6
>
> Datamonth
> Dates 2-Jul-07 3-Jul-07 4-Jul-07
> Start Run 1
> End Run 7
> Run Time 6
>
> Note that I need to retain the data, when I change the date it updates the
> cells for that date and must keep the data for the previous day. Is there a
> way to do
> this? Note also need to retain data as detailed below.
>
> Dailydata will have new values for each day. The update needs to read and
> paste as a value only into datamonth, it cant copy the cell as the formula in
> the cell will be a problem . Also there are some blank cells between some of
> the info in dailydata so how do you handle this? e.g info cells A3-C3, then
> F3, then H3-L3
>
>
> My thought was to have a macro that found the matching date from dailydata
> in monthdata, and tthen using a series of range copies to trasfer the data to
> monhtdata. I have tried but unsure on how to code the if loop,
>
> open to suggestions, can email spreadsheets if that helps, thanks
>
> Tiger
>
>
>
>
>
>
|