2

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

有没有办法动态更新工作表名称,以便可以在所有 .xls 文件中使用代码?

Range("A3:E4500").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("named").Range("A3:E4500"), _
PlotBy:=xlColumns

其中“命名”将动态变化。我尝试将其添加到代码中,但如果给出错误消息。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
4

1 回答 1

2

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

尝试这个

改变

ActiveChart.SetSourceData Source:=Sheets("WBname").Range("A3:E4500"), _ PlotBy:=xlColumns

对此。

ActiveChart.SetSourceData Source:=Sheets(WBname).Range("A3:E4500"), _ PlotBy:=xlColumns

于 2013-04-11T18:10:33.270 回答