Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Slow code when used as VBA code instead of macro (copying visible columns)
I have a macro that copys three columns Worksheet1 and pastes them
into Worksheet2. The code is run from a Worksheet3 using a command button that hits a macro containing the following code: Sheets("Worksheet1").Select Columns("C:E").Select Selection.Copy Sheets("Worksheet2").Select Cells.Select ActiveSheet.Paste That works fine, but I tried to move this code to the Worksheet_Activate event for Worksheet3 with: Application.Run ("Macro1") With this it takes a long time to run and I often get an "Out of Stack Space" error. I've also tried just using: Worksheets("Worksheet2").Columns("A:C").Value = Worksheets("Worksheet1").Columns("C:E").Value but, this copies all the cells...I need only the visible cells after a filter has been applied. Any ideas? Thanks! -Josh |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Slow code when used as VBA code instead of macro (copying visible columns)
I just realized that I also have the following code that returns the
focus back to Worksheet3 at the end of the code....if I take this out it runs fine, but I need the focus to return to Worksheet3. Worksheets ("Worksheet3").select So, the original code was: Sheets("Worksheet1").Select Columns("C:E").Select Selection.Copy Sheets("Worksheet2").Select Cells.Select ActiveSheet.Paste Worksheets ("Worksheet3").select -Josh |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Slow code when used as VBA code instead of macro (copying visiblecolumns)
I'd use:
worksheets("worksheet1").range("C:e").copy _ destination:=worksheets("sheet2").range("a1") And it kind of sounds like you have an event that's firing after each change. Maybe something like: application.enableevents = false worksheets("worksheet1").range("C:e").copy _ destination:=worksheets("sheet2").range("a1") application.enableevents = true to stop the event from starting. " wrote: I have a macro that copys three columns Worksheet1 and pastes them into Worksheet2. The code is run from a Worksheet3 using a command button that hits a macro containing the following code: Sheets("Worksheet1").Select Columns("C:E").Select Selection.Copy Sheets("Worksheet2").Select Cells.Select ActiveSheet.Paste That works fine, but I tried to move this code to the Worksheet_Activate event for Worksheet3 with: Application.Run ("Macro1") With this it takes a long time to run and I often get an "Out of Stack Space" error. I've also tried just using: Worksheets("Worksheet2").Columns("A:C").Value = Worksheets("Worksheet1").Columns("C:E").Value but, this copies all the cells...I need only the visible cells after a filter has been applied. Any ideas? Thanks! -Josh -- Dave Peterson |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Slow code when used as VBA code instead of macro (copying visible columns)
Thanks, Dave that worked beautifully! Much appreciated.
|
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Modification in the CODE to HIDE rows and columns that start with ZERO (code given) | Excel Programming | |||
copying vba code to a standard code module | Excel Discussion (Misc queries) | |||
Sheet Code Module: copying code to | Excel Programming | |||
copying text via linked cell from combo box to macro code | Excel Programming | |||
Copying/moving code in a macro | Excel Programming |