EXCEL VBA 只对某些行的数据画图

假设我的表的A列是日期,比如有22/10/2011(50个)和23/10/2011(40个),还有其他的一些乱码。B列是随时间的一个变量。现在我希望用宏对AB两列中仅以2... 假设我的表的A列是日期,比如有22/10/2011(50个)和23/10/2011(40个),还有其他的一些乱码。B列是随时间的一个变量。现在我希望用宏对AB两列中仅以22/10/2011开头的行画图。我知道在某些编程里面可以用find筛选。请问在excel vba的格式是什么啊? 展开
 我来答
一点设计演示
高粉答主

2016-01-25 · 职场/教育各类模板,衷于原创
一点设计演示
采纳数:874 获赞数:83606

向TA提问 私信TA
展开全部

1.将数据点坐标在工作簿中录入,一般为点(x,y)形式,体现在Excel中可以是两列数据。附图为示例中的点。

2.在Excel2010中,选择插入带线的x,y散点图;

3.右键→选择数据,选好数据区域后,点击确定即可生成图表。

4.生成的图标为附图,由于习惯于坐标轴在左下方,所以此时将图标类型修改为折线图(带数据的堆积折线图)即可。

百度网友ca64c0c
推荐于2016-01-16 · TA获得超过4666个赞
知道大有可为答主
回答量:2991
采纳率:61%
帮助的人:1473万
展开全部
一种方案是用VBA的FIND方法和FINDNEXT方法,对A列数据进行查找。具体语法如下:

Range.Find
方法
在区域中查找特定信息。
语法

表达式.Find(What,
After, LookIn, LookAt, SearchOrder,
SearchDirection, MatchCase, MatchByte,
SearchFormat)

表达式 一个代表 Range 对象的变量。

参数

名称

必选/可选

数据类型

说明

What
必选
Variant
要搜索的数据。可为字符串或任意 Microsoft Excel 数据类型。

After
可选
Variant
表示搜索过程将从其之后开始进行的单元格。此单元格对应于从用户界面搜索时的活动单元格的位置。请注意:After
必须是区域中的单个单元格。要记住搜索是从该单元格之后开始的;直到此方法绕回到此单元格时,才对其进行搜索。如果不指定该参数,搜索将从区域的左上角的单元格之后开始。

LookIn
可选
Variant
信息类型。

LookAt
可选
Variant
可为以下 XlLookAt 常量之一:xlWhole 或
xlPart。

SearchOrder
可选
Variant
可为以下 XlSearchOrder 常量之一:xlByRows 或
xlByColumns。

SearchDirection
可选
XlSearchDirection
搜索的方向。

MatchCase
可选
Variant
如果为 True,则搜索区分大小写。默认值为 False。

MatchByte
可选
Variant
只在已经选择或安装了双字节语言支持时适用。如果为 True,则双字节字符只与双字节字符匹配。如果为
False,则双字节字符可与其对等的单字节字符匹配。

SearchFormat
可选
Variant
搜索的格式。

返回值
一个 Range
对象,它代表第一个在其中找到该信息的单元格。

说明

如果未发现匹配项,则返回 Nothing。Find 方法不影响选定区域或当前活动的单元格。

每次使用此方法后,参数 LookIn、LookAt、SearchOrder 和 MatchByte
的设置都将被保存。如果下次调用此方法时不指定这些参数的值,就使用保存的值。设置这些参数将更改“查找”对话框中的设置,如果省略这些参数,更改“查找”对话框中的设置将更改使用的保存值。要避免出现这一问题,每次使用此方法时请明确设置这些参数。

使用 FindNext 和 FindPrevious 方法可重复搜索。

当搜索到指定查找区域的末尾时,此方法将绕回到区域的开始位置继续搜索。发生绕回后,要停止搜索,可保存第一个找到的单元格地址,然后测试后面找到的每个单元格地址是否与其相同。

另一种方案,是用FOR...NEXT循环遍历A列中的所有数据,用IF判断是否符合需要的条件,然后进行处理。

第三种方案,是用VBA直接对数据区域进行筛选,将筛选结果复制到空白工作表,再以此为基础作图。
追问
找出来了如何跟B列画图?能具体点儿么…谢谢~
追答
有了数据画图就简单了,如果实在不清楚VBA的绘制图表代码,可以先手工作一张图表,用宏记录器把整个过程录制下来,然后再研究现成的代码,将数据源修改为自己筛选出来的数据即可。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神速小羊
2016-01-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:2%
帮助的人:4455万
展开全部
Sub 绘折线图()

Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A5:G5"), PlotBy:= _
xlRows
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R9C1:R9C7"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
End Sub

A5:G5为数据区域
R9C1:R9C7 表示X轴标志所在单元格区域
第9行第1列(即A9)到第9行第7列(即G9)

如果不需要可以把这行删除,得到,然后横坐标就自动123456

Sub 绘折线图()

Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A5:G5"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
析君豪2Q
2014-02-18 · TA获得超过411个赞
知道小有建树答主
回答量:724
采纳率:50%
帮助的人:197万
展开全部
是不是22/10/2011后面还有其它字符?
更多追问追答
追问

嗯。有些行是乱得字符。估计是仪器记录的时候自动产生的。不过只有时间行是有意义的。大概是这样的两列:

追答
你把前面的截出来

dim sDate as string
sDate=left([A行号],10)
if isdate(sDate) then
'处理数据
endif
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式