Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Delete rows in multiple sheets without loop?


I have a workbook into which I occastionally import new data sets, eac
in its own new worksheet. I need to delete the third row of each ne
worksheet (but not any not-new worksheet).

I'm trying to avoid using a loop to do this (as an exercise). So I'
wondering if I can define a new worksheets object called wsNewSheets a
a collection containing just the new worksheets and then do somethin
like

wsNewSheets.Rows(3).Delete

Would that work? I can't figure out how to 'populate' wsNewSheets.

Thanks,
Ma

--
MTT72
-----------------------------------------------------------------------
MTT727's Profile: http://www.excelforum.com/member.php...fo&userid=2558
View this thread: http://www.excelforum.com/showthread.php?threadid=39006

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,718
Default Delete rows in multiple sheets without loop?

As far as I know you cannot create a Worksheets object which represents a
subset of all the worksheets in a workbook. 'Worksheets' is all the
worksheets in a workbook.

You can create an array of worksheets, and that can be a convenient way to
do some operations (like printing and deleting). But as to deleting rows, I
think that has to be done on each sheet individually.

Sub a()
Dim SheetArray As Variant
Set SheetArray = Worksheets(Array("Sheet1", "Sheet2", "Sheet3"))
MsgBox SheetArray(1).Name & " " & SheetArray(2).Name & " " &
SheetArray(3).Name
SheetArray(1).Rows(3).Delete ''This works
SheetArray.Rows(3).Delete ''This fails
End Sub


--
Jim
"MTT727" wrote in
message ...
|
| I have a workbook into which I occastionally import new data sets, each
| in its own new worksheet. I need to delete the third row of each new
| worksheet (but not any not-new worksheet).
|
| I'm trying to avoid using a loop to do this (as an exercise). So I'm
| wondering if I can define a new worksheets object called wsNewSheets as
| a collection containing just the new worksheets and then do something
| like
|
| wsNewSheets.Rows(3).Delete
|
| Would that work? I can't figure out how to 'populate' wsNewSheets.
|
| Thanks,
| Mac
|
|
| --
| MTT727
| ------------------------------------------------------------------------
| MTT727's Profile:
http://www.excelforum.com/member.php...o&userid=25585
| View this thread: http://www.excelforum.com/showthread...hreadid=390067
|


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Delete rows in multiple sheets without loop?

Just to add to Jim's excellent advice. You can sometimes use selection in
conjunction with grouped sheets to do this:

Sub tester1()
Dim sh As Worksheet
Set sh = ActiveSheet
Worksheets(Array("Sheet1", "Sheet3", "Sheet5")).Select
Rows(3).Select
Selection.Delete
sh.Select
End Sub


--
Regards,
Tom Ogilvy


"Jim Rech" wrote in message
...
As far as I know you cannot create a Worksheets object which represents a
subset of all the worksheets in a workbook. 'Worksheets' is all the
worksheets in a workbook.

You can create an array of worksheets, and that can be a convenient way to
do some operations (like printing and deleting). But as to deleting rows,

I
think that has to be done on each sheet individually.

Sub a()
Dim SheetArray As Variant
Set SheetArray = Worksheets(Array("Sheet1", "Sheet2", "Sheet3"))
MsgBox SheetArray(1).Name & " " & SheetArray(2).Name & " " &
SheetArray(3).Name
SheetArray(1).Rows(3).Delete ''This works
SheetArray.Rows(3).Delete ''This fails
End Sub


--
Jim
"MTT727" wrote in
message ...
|
| I have a workbook into which I occastionally import new data sets, each
| in its own new worksheet. I need to delete the third row of each new
| worksheet (but not any not-new worksheet).
|
| I'm trying to avoid using a loop to do this (as an exercise). So I'm
| wondering if I can define a new worksheets object called wsNewSheets as
| a collection containing just the new worksheets and then do something
| like
|
| wsNewSheets.Rows(3).Delete
|
| Would that work? I can't figure out how to 'populate' wsNewSheets.
|
| Thanks,
| Mac
|
|
| --
| MTT727
| ------------------------------------------------------------------------
| MTT727's Profile:
http://www.excelforum.com/member.php...o&userid=25585
| View this thread:

http://www.excelforum.com/showthread...hreadid=390067
|




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
How can I loop through a the values in multiple rows EMarre Excel Discussion (Misc queries) 6 May 13th 10 01:50 PM
How to Delete Rows in Excel In a Do Loop indraneel Excel Worksheet Functions 6 September 15th 06 09:51 AM
Delete Rows from multiple Sheets. drbobsled Excel Programming 3 April 7th 05 01:23 AM
loop to delete rows... Froglegz Excel Programming 5 August 1st 04 09:56 PM
How do I delete rows and columns in With With End Loop? Bob Benjamin Excel Programming 3 November 16th 03 12:26 AM


All times are GMT +1. The time now is 05:44 PM.

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"