我有几个.xls文件,其工作表名称与其文件名相同。由于使用每个.xls文件更新工作表名称,因此我当前拥有的代码不会动态更新。
有没有办法动态更新工作表名称,以便可以在所有.xls文件中使用代码?
Range("A3:E4500").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("named").Range("A3:E4500"), _
PlotBy:=xlColumns
其中“named”将动态变化。我尝试将此添加到代码但是如果给出错误消息。 WBname为每个工作表提供正确的名称,但“Source”不喜欢该字符串。
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
答案 0 :(得分:2)
WBname
是一个变量。在Double Quotes里面它变成了一个字符串。
试试这个
更改
ActiveChart.SetSourceData Source:=Sheets("WBname").Range("A3:E4500"), _
PlotBy:=xlColumns
到此。
ActiveChart.SetSourceData Source:=Sheets(WBname).Range("A3:E4500"), _
PlotBy:=xlColumns