VBA: 自动将图表移动到单独的工作表
VBA: Automatically moving charts to individual sheets
我正在开发一个 VBA 程序,它可以打开选定的 .csv 文件,使用该 .csv 文件中的值创建图表,并将其另存为选定路径上的新 .xlsx 文件。
创建图表并向它们添加标题工作正常,但我想将每个图表(在这些 .csv 文件中创建了 5 个图表)保存在该文件中单独的新 sheet 中。这些图表都是从“Sheet1”的选定范围创建的,我创建了新的 sheets:
Sheets.Add.Name = "Example1"
Sheets.Add.Name = "Example2"
Sheets.Add.Name = "Example3"
现在我不知道如何将这些图表中的每一个移动到这些新的 sheet 之一中。
我想我可能必须给每个图表一个名字:
ActiveChart.Name = "ExampleChart"
然后使用:
Dim ChartObj as Object
ChartObj.ExampleChart.Location xlLocationAsObject, "Example1"
把它移到那里。但这在某种程度上不起作用。感谢您的帮助
执行此操作的最简单方法是在要将其移动到的 sheet 中创建图表(如评论中所述)。
如果您想将图表从现有 sheet 移动到创建的 sheet,您可以使用类似这样的东西。
Dim chartobj As ChartObject
Set chartobj = Sheets("Sheet3").ChartObjects.Add(Left:=180, Width:=300, Top:=7, Height:=200) 'create chart in original sheet
chartobj.Name = "example chart" 'names chart
Sheets.Add.Name = "Example Sheet" 'creates new sheet
chartobj.Chart.Location xlLocationAsObject, "Example Sheet" 'moves chart to new sheet
我正在开发一个 VBA 程序,它可以打开选定的 .csv 文件,使用该 .csv 文件中的值创建图表,并将其另存为选定路径上的新 .xlsx 文件。 创建图表并向它们添加标题工作正常,但我想将每个图表(在这些 .csv 文件中创建了 5 个图表)保存在该文件中单独的新 sheet 中。这些图表都是从“Sheet1”的选定范围创建的,我创建了新的 sheets:
Sheets.Add.Name = "Example1"
Sheets.Add.Name = "Example2"
Sheets.Add.Name = "Example3"
现在我不知道如何将这些图表中的每一个移动到这些新的 sheet 之一中。 我想我可能必须给每个图表一个名字:
ActiveChart.Name = "ExampleChart"
然后使用:
Dim ChartObj as Object
ChartObj.ExampleChart.Location xlLocationAsObject, "Example1"
把它移到那里。但这在某种程度上不起作用。感谢您的帮助
执行此操作的最简单方法是在要将其移动到的 sheet 中创建图表(如评论中所述)。 如果您想将图表从现有 sheet 移动到创建的 sheet,您可以使用类似这样的东西。
Dim chartobj As ChartObject
Set chartobj = Sheets("Sheet3").ChartObjects.Add(Left:=180, Width:=300, Top:=7, Height:=200) 'create chart in original sheet
chartobj.Name = "example chart" 'names chart
Sheets.Add.Name = "Example Sheet" 'creates new sheet
chartobj.Chart.Location xlLocationAsObject, "Example Sheet" 'moves chart to new sheet