Excel 动态更改图纸标题

Excel 动态更改图纸标题,excel,charts,excel-2003,vba,Excel,Charts,Excel 2003,Vba,我有几个.xls文件,它们的工作表名与其文件名相同。由于工作表名称随每个.xls文件更新,因此我当前拥有的代码不会动态更新 是否有一种方法可以动态更新工作表名称,以便代码可以在所有.xls文件中使用 Range("A3:E4500").Select Charts.Add ActiveChart.ChartType = xlXYScatterSmoothNoMarkers ActiveChart.SetSourceData Source:=Sheets("named").Range("A3:E45

我有几个.xls文件,它们的工作表名与其文件名相同。由于工作表名称随每个.xls文件更新,因此我当前拥有的代码不会动态更新

是否有一种方法可以动态更新工作表名称,以便代码可以在所有.xls文件中使用

Range("A3:E4500").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("named").Range("A3:E4500"), _
PlotBy:=xlColumns
其中“命名”将动态更改。我尝试将其添加到代码中,但if会显示错误消息。WBname为每个工作表提供正确的名称,但“源”不喜欢该字符串

Dim WBname As String
WBname = Replace(ActiveWorkbook.Name, ".xls", "")
Application.ScreenUpdating = False
Range("A3:E4500").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("WBname").Range("A3:E4500"), _
PlotBy:=xlColumns

WBname
是一个变量。在双引号内,它变成一个字符串

试试这个

改变

ActiveChart.SetSourceData:=工作表(“WBname”).Range(“A3:E4500”)_
绘图者:=xlColumns

对这个

ActiveChart.SetSourceData:=工作表(WBname).Range(“A3:E4500”)_

PlotBy:=xlColumns

哇,我真不敢相信这么简单的改变。谢谢,它终于像我想要的那样工作了。