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 / Programming / January 2006

Tip: Looking for answers? Try searching our database.

Nestling of functions

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Tomas Stroem - 23 Jan 2006 10:52 GMT
I want to insert a certain number of row texts into 20 identical spreadsheets.
When I copy the area I want to insert then my macro stops after the first of
the 20 sheets.
I use "for x=1 to 20" "Next x" to acheive the repeated copy.

Is there a simple way to get the result i want?

20 sheets in one Workbook

The code I have is the following. It solves the problem but on slow machines
in the organisation it takes time as I make three loops

-----------------------------------------------------------
ActiveSheet.Unprotect Password:="tomstr"

Sheets("Pos A").Select
For x = 1 To 20
   ActiveSheet.Unprotect Password:="tomstr"
   Range("a31").Select
   ActiveSheet.Next.Select
Next x

Sheets("Parametrar").Select
Range("b40:e77").Select
Application.CutCopyMode = False
Selection.Copy

Sheets("Pos A").Select
For x = 1 To 20
   ActiveSheet.Paste
   ActiveSheet.Next.Select
Next x

Sheets("Pos A").Select
For x = 1 To 20
   Range("a12").Select
   Range("a2").Select
   Range("a1").Select
   ActiveSheet.Protect Password:="tomstr"
   ActiveSheet.Next.Select
Next x

Sheets("Projektbeskrivning").Select
ActiveSheet.Protect Password:="tomstr"
   Range("a12").Select
   Range("a2").Select
   Range("a1").Select
End Sub
Signature

Tomas S

Bob Phillips - 23 Jan 2006 11:24 GMT
Does this work for you?

Sheets("Parametrar").Range("b40:e77").Copy
ActiveSheet.Unprotect Password:="tomstr"
For Each sh In ActiveWorkbook.Worksheets
   If sh.Name <> "Parametrar" Then
       sh.Unprotect Password:="tomstr"
       Sheets("Parametrar").Range("b40:e77").Copy _
           sh.Range("A1")
       sh.Protect Password:="tomstr"
   End If
Next x
ActiveSheet.Protect Password:="tomstr"

Signature

HTH

Bob Phillips

(remove nothere from email address if mailing direct)

> I want to insert a certain number of row texts into 20 identical spreadsheets.
> When I copy the area I want to insert then my macro stops after the first of
[quoted text clipped - 44 lines]
>     Range("a1").Select
> End Sub
Tomas Stroem - 23 Jan 2006 15:03 GMT
Thanks Bob,

Excellent help !
This made it much better, but there is still one thing that this did not
solve. There are more than the 20 Identical sheets in the file that contain
different calculations. I have achieved to avoid the texts being copied to
all but one of the sheets. I get a run-time
error '1004' warning that "Cannot change part of a merged cell" and then the
following code is highlighted

Sheets("Parametrar").Range("b40:e77").Copy _
           sh.Range("A31")
The mission is completed correctly but I dont want the error message to
appear.
------

The full code I use is inserted below

Sheets("Parametrar").Select
ActiveSheet.Unprotect Password:="tomstr"

Sheets("Parametrar").Range("b40:e77").Copy
ActiveSheet.Unprotect Password:="tomstr"
For Each sh In ActiveWorkbook.Worksheets
   If sh.Name <> "Parametrar" And sh.Name <> "Projektbeskrivning" And
sh.Name
<> "Fritexter" And sh.Name <> "Kassaflöde" And sh.Name <> "Provision & Bank"
And sh.Name <> "Valutakurser" And sh.Name <> "Aktiva" And sh.Name <>
"Sammanställning" And sh.Name <> "Valuta & Betalningsplan" Then
       sh.Unprotect Password:="tomstr"
       Sheets("Parametrar").Range("b40:e77").Copy _
           sh.Range("A31")
       sh.Protect Password:="tomstr"
   End If
Next

ActiveSheet.Protect Password:="tomstr"

Sheets("Projektbeskrivning").Select
ActiveSheet.Protect Password:="tomstr"
   Range("a12").Select
   Range("a2").Select
   Range("a1").Select
End Sub
Signature


Tomas S

"Bob Phillips" skrev:

> Does this work for you?
>
[quoted text clipped - 61 lines]
> >     Range("a1").Select
> > End Sub
Bob Phillips - 25 Jan 2006 12:43 GMT
Get rid of the merged cells, they are more trouble than they are worth.

Signature

HTH

Bob Phillips

(remove nothere from email address if mailing direct)

> Thanks Bob,
>
[quoted text clipped - 105 lines]
> > >     Range("a1").Select
> > > End Sub
Tomas Stroem - 25 Jan 2006 16:11 GMT
Actually, there where some hidden sheets in the file that I inherited, scilly
but true. whein I included also these into the list of sheets not to be
handled it worked 100% perfect. So i could leave the merged cells as they are.

Many thanks for the help!!
Signature

Tomas S

"Bob Phillips" skrev:

> Get rid of the merged cells, they are more trouble than they are worth.
>
[quoted text clipped - 111 lines]
> > > >     Range("a1").Select
> > > > End Sub
Bob Phillips - 25 Jan 2006 23:40 GMT
I would still get rid of them. Another guy today had a macro that worked
fine for 11 out of 12 ranges. It did a cut and paste of some data, and it
failed on the one range because of ... merged cells.

Signature

HTH

Bob Phillips

(remove nothere from email address if mailing direct)

> Actually, there where some hidden sheets in the file that I inherited, scilly
> but true. whein I included also these into the list of sheets not to be
[quoted text clipped - 116 lines]
> > > > >     Range("a1").Select
> > > > > End Sub
 
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.