Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 14
Default Condensing a macro

The macro below copies some named ranges, pastes them into a new sheet and
then goes back copies 10 of the same ranges plus two new ones.This will have
to repeat its self 32 times to get the data the way I want it (make a
database from a table)! So if there is a way of condensing this macro or
make it more efficent I would be very grateful.

Thanks,

Esther


With
Worksheets("Master").Range("CUST,REG,RSM,MKTSEG,AT T,PLAT,CMACPN,CUSTPN,TECH,CUSTACC,MAY06OOH,MAY06PR ICE").Copy
Sheets("New").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
'NEXT
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select

Worksheets("Master").Range("CUST,REG,RSM,MKTSEG,AT T,PLAT,CMACPN,CUSTPN,TECH,CUSTACC,MAY06FORC,MAY06P RICE").Copy
Sheets("New").Select
ActiveCell.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
'NEXT
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select

End With
End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 694
Default Condensing a macro

Hi
you could use a sub similar to:
'----------------------------------------------
'Copy origin range (RgO) and paste in last cell in
' destination (rgD) column
Sub AddDataToSheet(RgO As Range, RgD As Range)
Dim rg As Range
If RgO Is Nothing Or RgD Is Nothing Then Exit Sub

Set rg = RgD.EntireColumn
Set rg = rg.Cells(rg.Cells.Count).End(xlUp).Offset(1, 0)

RgO.Copy
RgD.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

End Sub
'---------------------------------------------------------

now call it using:
Sub test()
dim rg1 as range, rg2 as range

set
rg1=Worksheets("Master").Range("CUST,REG,RSM,MKTSE G,ATT,PLAT,CMACPN,CUSTPN,TECH,CUSTACC,MAY06OOH,MAY 06PRICE")
set rg2=workSheets("New").range("A2")

'either call the sub each time or put in a loop.
AddDataToSheet rg1,rg2
AddDataToSheet rg1,rg2
AddDataToSheet rg1,rg2
end sub
--
Regards,
Sébastien
<http://www.ondemandanalysis.com


"EstherJ" wrote:

The macro below copies some named ranges, pastes them into a new sheet and
then goes back copies 10 of the same ranges plus two new ones.This will have
to repeat its self 32 times to get the data the way I want it (make a
database from a table)! So if there is a way of condensing this macro or
make it more efficent I would be very grateful.

Thanks,

Esther


With
Worksheets("Master").Range("CUST,REG,RSM,MKTSEG,AT T,PLAT,CMACPN,CUSTPN,TECH,CUSTACC,MAY06OOH,MAY06PR ICE").Copy
Sheets("New").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
'NEXT
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select

Worksheets("Master").Range("CUST,REG,RSM,MKTSEG,AT T,PLAT,CMACPN,CUSTPN,TECH,CUSTACC,MAY06FORC,MAY06P RICE").Copy
Sheets("New").Select
ActiveCell.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
'NEXT
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select

End With
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
Condensing VBA code Brad Excel Discussion (Misc queries) 3 September 9th 09 05:51 PM
Condensing Columns hugsnwally New Users to Excel 0 February 11th 08 10:18 PM
Condensing data from 3D to 2D Garbin Excel Worksheet Functions 7 December 5th 07 06:29 PM
Condensing my worksheet Derek Witcher Excel Worksheet Functions 4 September 1st 05 03:59 PM
Condensing lists skywalker949494 Excel Worksheet Functions 1 July 6th 05 03:14 PM


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

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

About Us

"It's about Microsoft Excel"