Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / New Users / December 2007

Tip: Looking for answers? Try searching our database.

Macro

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Greg - 05 Dec 2007 19:50 GMT
Each Month I receive a CD with an excel spreadsheet( call it Input
Spreadsheet). Each row contains certain fields that I need to use to build a
spreadsheet( call it Load Spreadsheet) that I will use to import/export
into Access. However, there is a different number of rows each month. For
example one month may have 500 records/rows and the next month may have 600
records/rows.
When I create a Macro I turn on the recorder and make the moves of columns
from input spreadsheet to load spreadsheet. However the next month may have
more or less records/rows and the macro does not work. It moves the
identical number of rows that was recorded.
Does anyone have a fairly simple/straight forward solution to this
situation??

Greg
Don Guillett - 05 Dec 2007 20:00 GMT
lr=cells(rows.count,"a").end(xlup).row
range(cells(1,1),cells(lr,21).copy
workbooks("load").sheets("sheet1").range("a1")

Signature

Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com

> Each Month I receive a CD with an excel spreadsheet( call it Input
> Spreadsheet). Each row contains certain fields that I need to use to build
[quoted text clipped - 13 lines]
>
> Greg
Greg - 05 Dec 2007 20:40 GMT
Don,

Thank You.

I am trying to understand the code, but will this code work if I am moving
columns c,a,e,f,g,aa,bb,ff,kk,uu,etc to columns to columns
a,b,c,d,e,f,g,h,etc?

Where would this code be placed and accessed?

Greg

> lr=cells(rows.count,"a").end(xlup).row
> range(cells(1,1),cells(lr,21).copy
[quoted text clipped - 17 lines]
> >
> > Greg
Don Guillett - 05 Dec 2007 22:07 GMT
This is the idea to put in the order requested with c before a.
You could put in the source or destination sheet and modify to suit.

Sub copycols()
myarray = Array("c", "a", "e:g","aa")'source columns
With Sheets("Sheet3")
For Each c In myarray
'MsgBox c
lc = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
'MsgBox lc
Columns(c).Copy .Columns(lc)  'Cells(1, lc)
Next c
End With
End Sub
Signature

Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com

> Don,
>
[quoted text clipped - 32 lines]
>> >
>> > Greg
Greg - 06 Dec 2007 01:17 GMT
Don,
Thank You, I am working on it.
If you have any other advice please let me know.
Greg

> This is the idea to put in the order requested with c before a.
> You could put in the source or destination sheet and modify to suit.
[quoted text clipped - 46 lines]
> >> >
> >> > Greg
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.