Macro

G

Greg

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
 
D

Don Guillett

lr=cells(rows.count,"a").end(xlup).row
range(cells(1,1),cells(lr,21).copy
workbooks("load").sheets("sheet1").range("a1")
 
G

Greg

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
 
D

Don Guillett

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
 
G

Greg

Don,
Thank You, I am working on it.
If you have any other advice please let me know.
Greg
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top