Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 846
Default Improvement to code

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,298
Default Improvement to code

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,939
Default Improvement to code

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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Further improvement to this IP address sorting code. [email protected] Excel Discussion (Misc queries) 0 May 12th 09 06:28 AM
Code Improvement Zaahir Excel Programming 2 May 1st 07 11:45 PM
Improvement for office Robert Adams, from Argentina Excel Discussion (Misc queries) 2 May 30th 06 10:32 PM
HLOOKUP improvement? Brad Excel Worksheet Functions 0 June 13th 05 07:01 PM


All times are GMT +1. The time now is 07:50 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"