Private Sub TextBox1_Change()
Dim i As Integer
For i = 1 To 100
If TextBox1.Text = Worksheets("数据").Cells(1, i) Then
Worksheets("数据").Select
Worksheets("数据").Cells(4, i - 1).Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection(1).Name = Worksheets("数据").Cells(3, i)
ActiveChart.SeriesCollection(1).Values = Range(Worksheets("数据").Cells(4, i), Worksheets("数据").Cells(5000, i))
ActiveChart.SeriesCollection(1).XValues = Range(Worksheets("数据").Cells(4, i - 1), Worksheets("数据").Cells(5000, i - 1))
ActiveChart.Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.Activate
ActiveChart.Axes(xlCategory).Select
Selection.MajorTickMark = xlInside
ActiveChart.Activate
ActiveChart.Axes(xlValue).Select
ActiveChart.Activate
Selection.MajorTickMark = xlInside
ActiveChart.Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.Activate
End If
Next
End Sub
如上方式构建窗体文本框后,每次执行都会出现一个新的工作表。而多次执行,就会出现多个工作表。
而我希望能每次执行后,都只保留一张最新的工作表(里面是图表)。
不知道怎么实现呢?
运行后效果如图,如果放在工作簿打开事件中,就能对该工作簿自动生效。你也可以把这句代码放在模块中作为Excel加载项,这样就可以对所有Excel文档生效了