Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The below works, but can it be more efficient?
What I'm doing is on a daily basis copy the equations over a column, range "value", "Yesterday" results (so those results don't change) and then bring in the new daily data. if nothing else I think that I should remove the 5 and 33 with range names... Sub DAILY() Dim LastCol As Long With Sheets("WeeksDetail") LastCol = .Cells(5, Columns.Count).End(xlToLeft).Column .Cells(5, LastCol).Resize(33, 1).Copy .Cells(5, LastCol + 1) .Cells(5, LastCol).Resize(33, 1).Value = .Cells(5, LastCol).Resize(33, 1).Value End With ActiveWorkbook.RefreshAll End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
assuming your table always has data in row 5
how's this? With Columns(Range("IV5").End(xlToLeft).Column) Columns(.Column + 1).Formula = .Formula .Value = .Value End With "Brad" wrote: The below works, but can it be more efficient? What I'm doing is on a daily basis copy the equations over a column, range "value", "Yesterday" results (so those results don't change) and then bring in the new daily data. if nothing else I think that I should remove the 5 and 33 with range names... Sub DAILY() Dim LastCol As Long With Sheets("WeeksDetail") LastCol = .Cells(5, Columns.Count).End(xlToLeft).Column .Cells(5, LastCol).Resize(33, 1).Copy .Cells(5, LastCol + 1) .Cells(5, LastCol).Resize(33, 1).Value = .Cells(5, LastCol).Resize(33, 1).Value End With ActiveWorkbook.RefreshAll End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I wouldn't change a thing... Your code is efficient as it is. You could
change the 5 and the 33 to declared constants which will make updating the code easier if things change but otherwise it is very reasonable. -- HTH... Jim Thomlinson "Brad" wrote: The below works, but can it be more efficient? What I'm doing is on a daily basis copy the equations over a column, range "value", "Yesterday" results (so those results don't change) and then bring in the new daily data. if nothing else I think that I should remove the 5 and 33 with range names... Sub DAILY() Dim LastCol As Long With Sheets("WeeksDetail") LastCol = .Cells(5, Columns.Count).End(xlToLeft).Column .Cells(5, LastCol).Resize(33, 1).Copy .Cells(5, LastCol + 1) .Cells(5, LastCol).Resize(33, 1).Value = .Cells(5, LastCol).Resize(33, 1).Value End With ActiveWorkbook.RefreshAll End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Further improvement to this IP address sorting code. | Excel Discussion (Misc queries) | |||
Code Improvement | Excel Programming | |||
Improvement for office | Excel Discussion (Misc queries) | |||
HLOOKUP improvement? | Excel Worksheet Functions |