ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Group Names Change Upon Paste, Kills Code. (https://www.excelbanter.com/excel-programming/290597-re-group-names-change-upon-paste-kills-code.html)

Bull Splat

Group Names Change Upon Paste, Kills Code.
 
Well, last night, at about 1 AM, I had a brain flash, "Save the legend
as a "Jpeg" picture. Yeah, well, that doesn't work either. Every
time the picture is "pasted" into a new worksheet, it gets a new
number.
How do I declare the legend or the picture so all the worksheets can
utilize it? Many Thanks.





(Bull Splat) wrote in message . com...
I have a workbook with 52 work sheets, and each worksheet has two
charts. I didn't like the legend that Excel made, so I created my own
legend with rectangles (different colors) and text boxes with the
legend information. I created this legend on the first worksheet, and
"planned" to have a macro just select, copy, paste, and place the
legend into each following worksheet.
Well, the macro runs OK, but just once, then the rectangle (a group of
several boxes grouped together) gets a NEW name, Oh Great! SO the
macro bails out.

I've tried giving the legend a name, ("Legend"), then I tried calling
that from the macro, no luck.

And, of someone can tell me how to get the macro to work though all of
the worksheets, it would sure save me a TON of time.

Here,s the code, please help....



Sub Copy_Legend_Chart1()
'
' Copy_Legend_Chart1 Macro
' Macro recorded 02/06/2004 by Default
'
' Keyboard Shortcut: Ctrl+Shift+B
'
Application.Goto Reference:="R90C19"
ActiveSheet.ChartObjects("Chart 1").Activate
'The following line is where it freezes up after one run
ActiveChart.Shapes("Group 26").Select
Selection.Copy
ActiveWindow.Visible = False
ActiveSheet.Next.Select
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.Paste
Selection.ShapeRange.IncrementLeft 676.99
ActiveWindow.Visible = False
Windows("TimeAudit23-03.xls").Activate
Range("G64").Select
ActiveSheet.Next.Select
End Sub


Dave Peterson[_3_]

Group Names Change Upon Paste, Kills Code.
 
One way to use the picture multiple times:

Option Explicit
Sub testme01()

Dim myPic As Picture
Dim wks As Worksheet
Dim myCopiedPicture As Picture
Dim AlreadyLoadedFromDisk As Boolean

AlreadyLoadedFromDisk = False
For Each wks In Worksheets
With wks
'kill existing picture named myPict
On Error Resume Next
Do
.Pictures("myPict").Delete
If Err.Number < 0 Then
Err.Clear
Exit Do
End If
Loop
On Error GoTo 0

If AlreadyLoadedFromDisk = False Then
Set myPic = .Pictures.Insert("C:\legend.jpg")
myPic.Name = "MyPict"
AlreadyLoadedFromDisk = True
Else
myPic.Copy
.Paste
End If

Set myCopiedPicture = .Pictures(.Pictures.Count)
With myCopiedPicture
.Top = .Parent.Range("a1").Top
.Left = .Parent.Range("a1").Left
.Width = .Parent.Range("a1:b1").Width
.Height = .Parent.Range("a1:a3").Height
End With

End With
Next wks

End Sub


Maybe you can go use some of this junk to go back to your original technique????

Bull Splat wrote:

Well, last night, at about 1 AM, I had a brain flash, "Save the legend
as a "Jpeg" picture. Yeah, well, that doesn't work either. Every
time the picture is "pasted" into a new worksheet, it gets a new
number.
How do I declare the legend or the picture so all the worksheets can
utilize it? Many Thanks.

(Bull Splat) wrote in message . com...
I have a workbook with 52 work sheets, and each worksheet has two
charts. I didn't like the legend that Excel made, so I created my own
legend with rectangles (different colors) and text boxes with the
legend information. I created this legend on the first worksheet, and
"planned" to have a macro just select, copy, paste, and place the
legend into each following worksheet.
Well, the macro runs OK, but just once, then the rectangle (a group of
several boxes grouped together) gets a NEW name, Oh Great! SO the
macro bails out.

I've tried giving the legend a name, ("Legend"), then I tried calling
that from the macro, no luck.

And, of someone can tell me how to get the macro to work though all of
the worksheets, it would sure save me a TON of time.

Here,s the code, please help....



Sub Copy_Legend_Chart1()
'
' Copy_Legend_Chart1 Macro
' Macro recorded 02/06/2004 by Default
'
' Keyboard Shortcut: Ctrl+Shift+B
'
Application.Goto Reference:="R90C19"
ActiveSheet.ChartObjects("Chart 1").Activate
'The following line is where it freezes up after one run
ActiveChart.Shapes("Group 26").Select
Selection.Copy
ActiveWindow.Visible = False
ActiveSheet.Next.Select
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.Paste
Selection.ShapeRange.IncrementLeft 676.99
ActiveWindow.Visible = False
Windows("TimeAudit23-03.xls").Activate
Range("G64").Select
ActiveSheet.Next.Select
End Sub


--

Dave Peterson



All times are GMT +1. The time now is 04:30 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com