excel 图表 怎么设置动态数据源?
大概是这样的,我有一个每日更新一列的数据表,其中有很多个图表,每个图表的数据源都是其中几行(从第二列开始到最后一列).于是每天更新一列之后我都要手动将所有图表的数据源往右...
大概是这样的,我有一个每日更新一列的数据表,其中有很多个图表,每个图表的数据源都是其中几行(从第二列开始到最后一列).
于是每天更新一列之后我都要手动将所有图表的数据源往右拉一行,非常繁琐.因此我想把这个工作自动化,
我尝试了用一个名称指代我想要的数据源区域,但是却不知道怎么把这个名称放进图表的数据来源那里,总是提示错误……而直接在数据来源里面写函数的话,excel就会自动把函数转化成区域,这个函数就此消失了……
想请教一下有没有excel大牛能教明白我?如果能有范例就最好啦!
呃,如果不能每天自动往右拉一行的话,每天移动一行也是可以的! 展开
于是每天更新一列之后我都要手动将所有图表的数据源往右拉一行,非常繁琐.因此我想把这个工作自动化,
我尝试了用一个名称指代我想要的数据源区域,但是却不知道怎么把这个名称放进图表的数据来源那里,总是提示错误……而直接在数据来源里面写函数的话,excel就会自动把函数转化成区域,这个函数就此消失了……
想请教一下有没有excel大牛能教明白我?如果能有范例就最好啦!
呃,如果不能每天自动往右拉一行的话,每天移动一行也是可以的! 展开
展开全部
怎么设置动态的数据源?在窗口的Open事件中怎么动态设置窗体的数据源?示例: Private Sub Form_Open(Cancel As Integer) Me.RecordSource = "b1" End Sub or Private Sub Form_Open(Cancel As Integer) Me.RecordSource = "select * from b1" End Sub Me.RecordSource = "select * from 表名" 子窗体的数据源: Me.子窗体控件名.Form.RecordSource = "select * from 表名" Me.RecordSource = "select * from 表名" --或 Me.RecordSource = "select * from 查询名" --或 Me.RecordSource = "表名" --或 Me.RecordSource = "查询名" 是想要窗体数据能在不关的情况下刷新吗?在窗体的数据源设置"select * from 表名 where 字段名=forms!窗体名.控件名 "同时在控件的更新事件下写VBA代码 Me.Requery Me.Refresh 如命令按扭,更好的写如下 rivate Sub COMBO1_AfterUpdate() Me.Requery Me.Refresh End Sub 设置好COMBO的数据源不用写代码 在窗体的打开事件中动态设置数据源,如: Me.RecordSource="select * from 表名 字段名 = " & [forms]![表1]![自动编号]
追问
我不太懂你在说什么...
你懂了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也有同样的需求
但单纯用函数公式无法实现
因为图表数据源不支持INDIRECT函数
因此我自己写了一段VBA代码
当工作表内容变更时
自动扩展图表的数据源
不过VBA需要根据实际的工作表进行编制
请提供具体的数据源引用范围
但单纯用函数公式无法实现
因为图表数据源不支持INDIRECT函数
因此我自己写了一段VBA代码
当工作表内容变更时
自动扩展图表的数据源
不过VBA需要根据实际的工作表进行编制
请提供具体的数据源引用范围
追问
我没用过VBA,不过可以举一反三嘛.
例如我想要4-17行,B列至最后一列作为数据源,怎么办呢?
追答
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ED as range
If Target.Address = "$A$1" Then ' 请设置一个触发单元格,当这个单元格变化时,就自动扩展数据源
set ED = Activesheet.Range("B4").End(xlToRight).Offset(13,0)
Charts(1).SetSourceData Source:=Activesheet.Range("$B$4:" & ED.Address), PlotBy _ :=xlRows
End If
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是很明白你表达的意思
如果你在制表的时候 直接扩展多列数据
比如你现在有10列数据 明天就是11列
那么你在制作图表的时候 直接选定数据源就是15列 或者 30列
当然那些列现在是空的 但不影响你的图表
或者你上传一个样表 有助于分析
如果你在制表的时候 直接扩展多列数据
比如你现在有10列数据 明天就是11列
那么你在制作图表的时候 直接选定数据源就是15列 或者 30列
当然那些列现在是空的 但不影响你的图表
或者你上传一个样表 有助于分析
追问
确实可行~~不过我还是想知道有没有自动扩展的方法~谢谢啦
追答
自动扩展需要VBA编程 偶不擅长 请教下其他达人
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的办法是将这个数据源作为一个“表”来处理,比如名称为“表1”,那么引用的数据源就是“表1”,以后不管是插入一行还是一列 都会自动扩展。
追问
也是个好方法,感谢!不过这样就会产生大量的工作表啦........
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询