作者:绿色风
分类:
时间:2022-08-18
浏览:118
楼主 kevinchengcw |
Q: 如何制作带控件的折线图? A: 代码如下: Sheet1中代码:- Private Sub ComboBox1_Change() '当选择框的内容变化时则执行下述代码
- ActiveSheet.ChartObjects("图表 1").Activate '改变图表内容时记得先激活
- With ActiveChart
- Select Case ComboBox1.Value '根据选择框内的数据给图表赋以不同的数据区范围
- Case "A"
- .SetSourceData Source:=Range("B2:G4")
- Case "B"
- .SetSourceData Source:=Range("B5:G8")
- Case "C"
- .SetSourceData Source:=Range("B9:G13")
- End Select
- End With
- ComboBox1.Activate '将焦点还给选择框
- End Sub
- Private Sub Worksheet_Activate() '当工作表被激活时执行下述代码
- Dim N&, Dic As Object
- Set Dic = CreateObject("scripting.dictionary") '创建字典
- For N = 2 To Cells(Rows.Count, 1).End(3).Row '循环数据区的标题区
- If Cells(N, 1) <> "" Then Dic.Add Cells(N, 1).Value, "" '将非空的内容添加到字典(这里存储的是区域标题)
- Next N
- Cells(4, "J").Resize(Dic.Count, 1) = Application.Transpose(Dic.keys) '将收集到的标题放到图表后面的单元格区域中
- ComboBox1.ListFillRange = Range(Cells(4, "j"), Cells(Rows.Count, "j").End(3)).Address(0, 0) '把该区域的内容赋值给选择框
- Set Dic = Nothing '清空字典项目
- End Sub
ThisWorkbook中的代码:- Private Sub Workbook_Open() '工作簿打开时执行下述代码
- Dim N&, Dic As Object
- If ActiveSheet.Name = "Sheet1" Then '如果活动工作表是SHeet1,则
- With ActiveSheet
- Set Dic = CreateObject("scripting.dictionary") '创建字典项目
- For N = 2 To .Cells(.Rows.Count, 1).End(3).Row '循环数据区的标题区
- If .Cells(N, 1) <> "" Then Dic.Add .Cells(N, 1).Value, "" '提取标题内容存入字典中
- Next N
- .Cells(4, "J").Resize(Dic.Count, 1) = Application.Transpose(Dic.keys) '将收集到的标题放到图表后面的单元格区域中
- .ComboBox1.ListFillRange = .Range(.Cells(4, "j"), .Cells(Rows.Count, "j").End(3)).Address(0, 0) '把该区域的内容赋值给选择框
- Set Dic = Nothing '清空字典项目
- End With
- End If
- End Sub
附示例文件。 用控件做折线图.rar |
2楼 xmyjk |
正好查个图表的资料,谢谢K哥。 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一