作者lastmile ()
看板Office
标题[问题] VBA散布图叠图如何写?
时间Wed Dec 20 21:04:46 2017
软体:EXCEL
版本:2010
小鲁目前有很多sheet的data 位置也固定在A1:A100与B1:B100
现在想要在总表上绘制全部分页的叠图
数列名称需采取sheet的名称
x轴参照A1:A100
Y轴参照B1:B100
目前写起来没有办法正确显示数列名称,x轴与y轴的参照也出现执行错误1004
Dim i, As String
Do While i < Sheets.Count
Sheets("Chart Oerlay").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""
sheets(i).name"""
ActiveChart.SeriesCollection(1).XValues = "
=sheets(i)!$A$1:$A$100"
ActiveChart.SeriesCollection(1).Values = "
=sheets(i)!$B$1:$B$100"
Loop
请问不知有没有比较好的写法可以改善呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.21.191.16
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1513775089.A.C48.html
※ 编辑: lastmile (211.21.191.16), 12/20/2017 21:05:24
※ 编辑: lastmile (211.21.191.16), 12/20/2017 21:08:29
1F:→ soyoso: 先写原文的dim i,as string写法不正确,这里就会出错,不 12/20 21:09
2F:→ soyoso: 可能执行到出现1004的错误 12/20 21:10
3F:→ soyoso: 变数i初始为0,sheets(i)带入索引值0,则会出现1004的错误 12/20 21:11
4F:→ soyoso: 如以要带变数的话,写法类似这样 12/20 21:20
6F:→ lastmile: 请问要怎麽写会比较好呢? 本来其实有写一个x 用i=i+x 12/20 21:21
7F:→ lastmile: 应该这样说 我不同sheet的东西都要丢进chart overlay中 12/20 21:22
8F:→ lastmile: 来叠图,chart overlay在最後一页,所以希望在此之前的 12/20 21:23
10F:→ soyoso: 或工作表名称,范围可以字串或以range方式 12/20 21:24
11F:→ lastmile: 的所有data通通都能叠进来 可能10~20多张或是更多 所以 12/20 21:24
12F:→ lastmile: ok,很明显x轴y轴s大给了一个漂亮的解答 12/20 21:25
13F:→ soyoso: x是变数?还是常数,以回文来看原po是否是写i=i+1的方式 12/20 21:25
14F:→ soyoso: 如果写法可以用的上的话,置换一下看是否可顺利产生出 12/20 21:27
15F:→ lastmile: 我X设定常数 x=1 i=i+x 然後希望i能从1跳到最後一页之前 12/20 21:29
16F:→ lastmile: 一个笨蛋写法 写+1好像就行了XDD 12/20 21:29
17F:→ lastmile: 绘图部份我还在调 12/20 21:31
18F:→ lastmile: s大,用您最後一个写法我用变数i的话会失败,常数可行 12/20 21:33
20F:→ soyoso: 并无错误产生 12/20 21:35
21F:→ soyoso: 看是否在累加上已超过工作表张数 12/20 21:37
22F:→ lastmile: OK 我找到错误原因了 我i放的位置没放对 而且i=i+1可行 12/20 21:38
23F:→ lastmile: 感谢s大,太厉害了。 12/20 21:38