VBA code works with F8 but not when run
I have written some VBA code to insert an Embedded Picture into an Embedded Chart onto an Excel worksheet. The routine attempts to do this by copying the picture, adding an embedded chart, setting dimensions to the picture's dimensions, and then pasting the picture.
The thing is, it works with no errors when I step through it
with F8 (“Debug” → “Step Into”).
The code looks simple enough, and I've experimented with placement of the Copy/Paste sequence, and nothing seems to get the picture to completed that final Paste step when running the macro.
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart: Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
It works perfectly with F8; the picture is pasted into the chart.
Just not when actually running –
I ran with the green play button in the VBA editor,
ran it through the macro dialog box,
and ran it through a button on the worksheet.
No change in results.
What is going wrong?
How can I get this routine to run correctly by normal invocation?
Any help is appreciated.
microsoft-excel vba charts
add a comment |
I have written some VBA code to insert an Embedded Picture into an Embedded Chart onto an Excel worksheet. The routine attempts to do this by copying the picture, adding an embedded chart, setting dimensions to the picture's dimensions, and then pasting the picture.
The thing is, it works with no errors when I step through it
with F8 (“Debug” → “Step Into”).
The code looks simple enough, and I've experimented with placement of the Copy/Paste sequence, and nothing seems to get the picture to completed that final Paste step when running the macro.
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart: Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
It works perfectly with F8; the picture is pasted into the chart.
Just not when actually running –
I ran with the green play button in the VBA editor,
ran it through the macro dialog box,
and ran it through a button on the worksheet.
No change in results.
What is going wrong?
How can I get this routine to run correctly by normal invocation?
Any help is appreciated.
microsoft-excel vba charts
What does happen when you run the code normally?
– Twisty Impersonator
Jan 21 at 22:28
Do you get errors? What errors (the messages, not the numbers)? Where does the code stop, and what line is highlighted in yellow?
– Jon Peltier
Jan 30 at 2:21
add a comment |
I have written some VBA code to insert an Embedded Picture into an Embedded Chart onto an Excel worksheet. The routine attempts to do this by copying the picture, adding an embedded chart, setting dimensions to the picture's dimensions, and then pasting the picture.
The thing is, it works with no errors when I step through it
with F8 (“Debug” → “Step Into”).
The code looks simple enough, and I've experimented with placement of the Copy/Paste sequence, and nothing seems to get the picture to completed that final Paste step when running the macro.
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart: Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
It works perfectly with F8; the picture is pasted into the chart.
Just not when actually running –
I ran with the green play button in the VBA editor,
ran it through the macro dialog box,
and ran it through a button on the worksheet.
No change in results.
What is going wrong?
How can I get this routine to run correctly by normal invocation?
Any help is appreciated.
microsoft-excel vba charts
I have written some VBA code to insert an Embedded Picture into an Embedded Chart onto an Excel worksheet. The routine attempts to do this by copying the picture, adding an embedded chart, setting dimensions to the picture's dimensions, and then pasting the picture.
The thing is, it works with no errors when I step through it
with F8 (“Debug” → “Step Into”).
The code looks simple enough, and I've experimented with placement of the Copy/Paste sequence, and nothing seems to get the picture to completed that final Paste step when running the macro.
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart: Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
It works perfectly with F8; the picture is pasted into the chart.
Just not when actually running –
I ran with the green play button in the VBA editor,
ran it through the macro dialog box,
and ran it through a button on the worksheet.
No change in results.
What is going wrong?
How can I get this routine to run correctly by normal invocation?
Any help is appreciated.
microsoft-excel vba charts
microsoft-excel vba charts
edited Jan 21 at 23:43
Scott
15.9k113990
15.9k113990
asked Jan 18 at 20:15
rachaelsrachaels
61
61
What does happen when you run the code normally?
– Twisty Impersonator
Jan 21 at 22:28
Do you get errors? What errors (the messages, not the numbers)? Where does the code stop, and what line is highlighted in yellow?
– Jon Peltier
Jan 30 at 2:21
add a comment |
What does happen when you run the code normally?
– Twisty Impersonator
Jan 21 at 22:28
Do you get errors? What errors (the messages, not the numbers)? Where does the code stop, and what line is highlighted in yellow?
– Jon Peltier
Jan 30 at 2:21
What does happen when you run the code normally?
– Twisty Impersonator
Jan 21 at 22:28
What does happen when you run the code normally?
– Twisty Impersonator
Jan 21 at 22:28
Do you get errors? What errors (the messages, not the numbers)? Where does the code stop, and what line is highlighted in yellow?
– Jon Peltier
Jan 30 at 2:21
Do you get errors? What errors (the messages, not the numbers)? Where does the code stop, and what line is highlighted in yellow?
– Jon Peltier
Jan 30 at 2:21
add a comment |
1 Answer
1
active
oldest
votes
You need to select the chart, so the .Paste goes somewhere:
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart
Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.Select
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1395907%2fvba-code-works-with-f8-but-not-when-run%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need to select the chart, so the .Paste goes somewhere:
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart
Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.Select
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
add a comment |
You need to select the chart, so the .Paste goes somewhere:
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart
Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.Select
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
add a comment |
You need to select the chart, so the .Paste goes somewhere:
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart
Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.Select
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
You need to select the chart, so the .Paste goes somewhere:
Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart
Set xcht = Sheet9.Shapes.AddChart.Chart
With xcht
.ChartArea.Select
.ChartArea.ClearContents
.ChartArea.Width = Sheet9.Shapes("Picture 2").Width
.ChartArea.Height = Sheet9.Shapes("Picture 2").Height
.Paste
End With
End Sub
answered Jan 30 at 2:27
Jon PeltierJon Peltier
2,9121420
2,9121420
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1395907%2fvba-code-works-with-f8-but-not-when-run%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What does happen when you run the code normally?
– Twisty Impersonator
Jan 21 at 22:28
Do you get errors? What errors (the messages, not the numbers)? Where does the code stop, and what line is highlighted in yellow?
– Jon Peltier
Jan 30 at 2:21