Я ничего не знаю о VBA, я просто пытаюсь, чтобы 4 диаграммы (которые уже разделены на своих вкладках) были легко экспортированы как PNG-файлы в заданное место каждый раз, когда я сохраняю документ excel ,Excel VBA Export chart
Пройдя через некоторую базу данных stackoverflow, мне удалось сделать что-то похожее с рабочим листом, который я хотел экспортировать как CSV, но я не могу сделать то же самое для своих диаграмм.
Сейчас вот что мой VBA выглядит для ThisWorkbook:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ThisWorkbook.Worksheets("CSV Monthly Update").Copy
ActiveWorkbook.SaveAs Filename:="CSV Monthly Update.csv", FileFormat:=xlCSVWindows
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
«Это выше часть работает хорошо»
«Тот ниже, не, я пытаюсь получить диаграмму из Рабочий лист «Growth_of_10k» на экспорт, но это дает мне ошибку времени выполнения 9 о RunScript быть из страницы»
Sub ExportChart()
Dim objChrt As ChartObject
Dim myChart As Chart
Set objChrt = Sheets("Growth_of_10k").ChartObjects(3)
Set myChart = objChrt.Chart
myFileName = "myChart.png"
On Error Resume Next
Kill ThisWorkbook.Path & "\" & myFileName
On Error GoTo 0
myChart.Export Filename:=ThisWorkbook.Path & "\" & myFileName, Filtername:="PNG"
MsgBox "OK"
End Sub
Любая идея, как мне нужно, чтобы изменить код так, что диаграмма Expor ted автоматически в том же месте, что и файл (или другое заданное местоположение, это не имеет значения) одновременно с сохранением документа excel?
Прошу прощения, если это вопрос новичков, это действительно мое первое начинание с VBA, и поиск в Google может только довести вас до того момента, когда вы не поймете, что делаете.
Спасибо за тонну.
В какой строке вы видите эту ошибку? –
Ваш код работает для меня - единственное, что я могу предложить, может быть, у вас другая рабочая книга, когда вы ее запускаете (так что он будет искать лист «Growth_of_10k» в этой книге и не найдет его). Исправить: 'Установить objChrt = ThisWorkbook .Sheets ("Growth_of_10k"). ChartObjects (3) ' –
Это говорит мне Ошибка времени выполнения '1004' Определенная пользователем или объектная ошибка. Я взял Set objChrt = Sheets («Growth_of_10k»). ChartObjects (3) от кого-то другого. Поэтому я не знаю, что такое имя диаграммы или номер диаграммы на странице, которую я сделал. У меня есть страница под названием «Growth_of_10k», в которой есть только диаграмма и т. Д. Но я не знаю, в каком количестве диаграмм внутри рабочего листа, и не знаю, как обращаться к тем графикам, которые я хочу экспортировать. Ссылка на Dropbox: https: //www.dropbox.com/s/ir3f7223nb9o2db/Avanguard%20Test%20Hypothetical%20Fund%20Cummulative%20Returns.xlsm? Dl = 0 – gcefaloni