8424 3

[问答] 求高手指教Excel批量生成图表 [推广有奖]

  • 2关注
  • 2粉丝

硕士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
252 个
通用积分
0.0001
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
1156 点
帖子
93
精华
0
在线时间
113 小时
注册时间
2010-10-30
最后登录
2014-4-22

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
需要将一批数据批量生成图表,具体要求如下:

                V1           V2            V3            V4            V5           V6

P1
P2
P3
P4
....

Excel数据格式如上,行表示学生,列表示每个学生的成绩。想要为每一个学生建一个成绩报告,用条形图(横的)表示,且要求前三种成绩一列,后三种成绩一列。跪求各位高手指点。最好是直接生成在Word里面。谢啦。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL exce xcel cel 求高手 Excel

Tomorrow is another day!!
沙发
o81 发表于 2012-7-24 10:25:25 |只看作者 |坛友微信交流群

使用道具

藤椅
pedro 发表于 2012-8-13 17:53:18 |只看作者 |坛友微信交流群
数据透视表可以做,也可以做出图,但是你的要求我看不懂,何况你没有具体数据,描述的太笼统了

使用道具

板凳
matlab-007 发表于 2016-6-27 20:05:00 |只看作者 |坛友微信交流群
Sub 图表批量生成()
    For r = 1 To 100
        Charts.Add
        ActiveChart.ChartType = xlLineMarkers
        ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A" & r & ":E" & r)
        'ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" '删除本句前的'可将各个图表作为对象插入sheet1中,否则各图表将单独作为chart表插入工作簿。
    Next
End Sub
===================
Sub 图表批量生成()
   xx = 0
   yy = 0
For r = 4 To 57    '以每位学生生成一个图表,循环产生全班每位学生的曲线图
        Charts.Add
        ActiveChart.ChartType = xlLineMarkers
        ActiveChart.SetSourceData Source:=Sheets("一班全图").Range("A" & r & ":U" & r), PlotBy _
        :=xlRows    '源数据系列产生于行
        ActiveChart.Location Where:=xlLocationAsObject,Name:="一班全图"       '所有图表插入同一工作表中
         With ActiveChart.Axes(xlValue)     '设置图表属性 如:刻度和线型
        .MinimumScaleIsAuto = True
        .MaximumScale = 60
        .MinorUnit = 1
        .MajorUnit = 5
        .Crosses = xlAutomatic
        .ReversePlotOrder = True
        .ScaleType = xlLinear
        .DisplayUnit = xlNone
    End With
    ActiveChart.Legend.Select
    Selection.Delete
    ActiveChart.SeriesCollection(1).Select
    With Selection.Border
        .ColorIndex = 3
        .Weight = xlMedium
        .LineStyle = xlContinuous
    End With
    With Selection
        .MarkerBackgroundColorIndex = xlAutomatic
        .MarkerForegroundColorIndex = 5
        .MarkerStyle = xlCircle
        .Smooth = False
        .MarkerSize = 3
        .Shadow = False
    End With                 '图表属性设置结束
   Set myDocument = ActiveSheet
  For Each S In myDocument.ChartObjects
   'MsgBox (S.Name)
    S.Activate
    ActiveChart.ChartArea.Select       '设置图表(即外框)大小及在工作表中的位置
    S.Top = yy * 136
    S.Left = xx * 274
     S.Height = 132
     S.Width = 270
    ActiveChart.PlotArea.Select         '设置绘图区大小及相对于外框的位置
    Selection.Top = 9
    Selection.Height = 132
    Selection.Left = 0
    Selection.Width = 270
    xx = xx + 1              '设置计数器,让图表每三个排一行
    If xx >= 3 Then
    xx = 0
    yy = yy + 1
    End If
  Next S
Next r
End Sub
==================================
ActiveChart.ChartArea.Select
Sub 改变图表尺寸()
Set myDocument = ActiveSheet
For Each S In myDocument.ChartObjects
'MsgBox (S.Name)
    S.Activate
    ActiveChart.ChartArea.Select    '这部分是图表区的尺寸代码
    S.Width = 200
    S.Height = 200   
    ActiveChart.PlotArea.Select   '这部分是绘图区的尺寸代码
    Selection.Width = 191
    Selection.Top = 9
    Selection.Height = 185
Next S
End Sub
=================
清除图表可以用这个:
Sub test()
For Each r In Sheets("一班全图").ChartObjects
r.Delete
Next
End Sub
=========================

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 19:14