excel - VBA excel中如何设置散点图的X轴?
问题描述
这是我的问题:
我得到了这个代码:
'Draw a chart
Dim rng As range
Dim cht As ChartObject
'Your data range for the chart
Set rng = ActiveSheet.range("$G$2:$G$" & row_Position & ",$Z$2:$AC$" & row_Position)
'Create a chart
Set cht = ActiveSheet.ChartObjects.Add( _
Left:=ActiveCell.Left, _
Width:=775, _
Top:=275, _
Height:=250)
cht.Activate
'Populate chart with data
ActiveChart.SetSourceData Source:=rng
'Add gridlines
ActiveChart.Axes(xlCategory).HasMajorGridlines = True
'Determine the chart type
ActiveChart.ChartType = xlXYScatterLines
所以,代码给我一个看起来像这样的图表:
所以,请允许我解释一下这一行:
Set rng = ActiveSheet.range("$G$2:$G$" & row_Position & ",$Z$2:$AC$" & row_Position)
G2 到 G+row_Position,表示按钮单击的日期和时间(在按钮单击时我在表格中添加了一个新行)
Z2 到 AC+row_Position,代表我想在图表中显示的 4 列。
如您所见,在上图中,它可以工作。
我的问题:
我现在有一个新列,它是 F2 到 F+row_Position,它们是行的索引,所以数字,从 1 到 row_Position。
事实上,我的图表是散点图,它不是等距的,为此,我想用 F 列替换 G(日期和时间)列......但以下是由此产生的,请看一看:
代码更改为:
Set rng = ActiveSheet.range("$F$2:$F$" & row_Position & ",$Z$2:$AC$" & row_Position)
现在,它看起来像这样:
依此类推,直到达到 6 行:
所以,只是从 G 到 F 的变化导致了这个错误......
我只是想用行号替换日期,以生成打开等距功能的散点图,因为我无法用日期来做到这一点(不知道今天如何)
我希望你能帮助我。
提前致谢。
@edit1:数据是这样的:
这是它的图表:
这是带有索引行的图表:
所以最后,只有数字……没什么特别的……
解决方案
如果您只想保持这些日期等距,请不要将它们作为日期输入,而是作为文本输入。所以例如。如果您的时间戳是开头带有撇号的14.6.2018 9:44:11
类型。'14.6.2018 9:44:11
因此 Excel 将其识别为文本(这使它们等距)。
或者,您可以添加一个帮助列以使用公式将时间戳转换为文本。然后使用辅助列(文本)作为 x 轴。
公式可能与您的本地化不同,但类似于……</p>
=TEXT(F:F, "DD.MM.YYYY hh:mm:ss")
推荐阅读
- django - 姜戈 | 创建新的配置文件对象时出现 SuspiciousFileOperation 错误
- linux - 如何从一个目录中读取文件并使用 shell 脚本将该文件作为另一个存储过程的输入?
- php - WooCommerce 在结帐时选择带有 Optgroup 的下拉菜单
- php - 我如何知道一个 IP 在 PHP 中与 LAN 连接/正常或断开连接?
- laravel - Laravel 5.5 - 更新或创建批量插入
- cloudsim - 等待时间在cloudsim中没有显示为什么?
- javascript - Vue.js 中可编辑文本区域的树形视图
- javascript - 何时在 Mongoose 中使用 new ObjectId("string-id") 而不是 ObjectId("string-id")?
- node.js - Run a NOT headless chrome on a docker container
- google-app-maker - 在对话框顶部显示确认弹出窗口