求教VBA读取其他EXCEL文件里的数据并绘图

sAnKes 2012-06-27 10:54:59
生产每月都会制作文件并公示,现在想做一个EXCEL,写一个宏,将文件夹里的3个月的公示EXCEL里的数据读取出来,并合并,然后点击姓名便生成一个新的sheel.将这个人12个月的完成定额绘制成一个曲线图。在这12个月里面,职工可能会增减。

请问这样可以实现吗?

数据:见附件。

更新求助:
因为对VBA并不太熟悉,看了一下午的帖子,写了下面这一段,想法就是根据姓名查询

--------------------------------------------------------------------------------


Sub test()
Set Cnn = CreateObject("adodb.connection")
h = 2
f = Dir(ThisWorkbook.Path & "\*.xls")
Do While f > " "
If f <> ThisWorkbook.Name Then
Cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.Path & "\" & f
Sql = "select 完成定额 from [月公示$] where 姓名 = 张三"
Cells(a, 1).CopyFromRecordset Cnn.Execute(Sql)
'每次到这里就出错,一直查不明白原因。
ed = [b65536].End(3).Row + 1
Cells(h, 1).Resize(ed - h, 1) = f
h = ed
Cnn.Close
'断开cnn的链接
End If
f = Dir
Loop
End Sub

--------------------------------------------------------------------------------


这里是查询数据然后放到一个新的表里,绘制成统计图还没写出来。求助!

好像不能上传数据附件,为了尽可能表达清楚问题,以下是附件的截图。(图片也不能),我再放到其他空间上。

一个文件夹里的多个EXCEL文件

数据1

数据2

数据3

希望得到的结果

发个带图片的帖子也不容易,希望可以得到高手指教。


...全文
518 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sAnKes 2012-06-29
  • 打赏
  • 举报
回复
基本上已经编写完成,谢谢gxgyj
迟点完善以后将代码上传。以感谢CSDN的朋友!
sAnKes 2012-06-28
  • 打赏
  • 举报
回复
自己顶一下。CSDN人应该不少,是不是这个板块没人来呢?
sAnKes 2012-06-28
  • 打赏
  • 举报
回复
上面那个问题解决了。
Sql = "select 完成定额 from [月公示$A2:C100] where 姓名 = '张三'"
这样就可以以第二行为表头。
接下来就是排列数据和绘图了。

sAnKes 2012-06-28
  • 打赏
  • 举报
回复
感谢高手,如果按照你的方式去操作,确实是可以运行了,而且可以获得想要的数据。
但是还能再请教一下吗?
每月表里的“一月、二月、三月”,是必须有的,那SQL语句应该怎样修改才行呢?
gxgyj 2012-06-28
  • 打赏
  • 举报
回复
1、
每月的表里,“一月、二月、三月”之类那一行删除掉

2、
Sql = "select 完成定额 from [月公示$] where 姓名 = 张三"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//张三加单引号括起来
Sql = "select 完成定额 from [月公示$] where 姓名 = '张三'"

3、注意里面变更,有些都没定义,比如a

4、这句ed = [b65536].End(3).Row + 1,第一次循环时,ed为2,h也为2,那下面的
Cells(h, 2).Resize(ed - h, 1) = f
相当于
Cells(h, 2).Resize(0, 1) = f  这是语法错误了Resize不能为0
sAnKes 2012-06-28
  • 打赏
  • 举报
回复
附件已经发送。非常感谢。
sAnKes 2012-06-28
  • 打赏
  • 举报
回复
自动化错误。
gxgyj 2012-06-28
  • 打赏
  • 举报
回复
之前提示是什么
sAnKes 2012-06-28
  • 打赏
  • 举报
回复
也不行,总是提示自动错误或者至少一个值未指定
gxgyj 2012-06-28
  • 打赏
  • 举报
回复
每月的表里,“一月、二月、三月”之类那一行删除掉,看看

6,210

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧