如何在VBA excel中设置散点图的X轴?
我的问题是: 我得到了这个密码:如何在VBA excel中设置散点图的X轴?,excel,vba,Excel,Vba,我的问题是: 我得到了这个密码: '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.ChartObject
'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+行位置,表示单击按钮的日期和时间(单击按钮时,我向表中添加新行)
Z2到AC+行位置,表示我希望在图表中显示的4列
正如你所看到的,在上面的图片中,它起作用了
我的问题是:
我现在有一个新的列,它是F2到F+行的位置,它们是行的索引,所以数字,从1到行的位置
事实上,我的图表是一个散点图,它不是等距的,因此,我想用F列替换G(日期和时间)列……但以下是由此产生的结果,请看一下:
代码更改为:
Set rng = ActiveSheet.range("$F$2:$F$" & row_Position & ",$Z$2:$AC$" & row_Position)
现在看起来是这样的:
有两行:
有3行:
依此类推,直到达到6行:
所以,只是从G到F的变化导致了这个错误
我只是想用行号替换日期,生成一个启用了等距功能的散点图,因为我不能用日期(不知道今天怎么做)
我希望你能帮助我
提前谢谢
@编辑1:数据如下: 这是它的图表: 这是带有索引行的图表:
所以最后,只有数字…没有什么特别的…如果你只是想让这些日期保持等距,不要将它们作为日期输入,而是作为文本输入。例如,如果您的时间戳是
14.6.2018 9:44:11
请键入'14.6.2018 9:44:11
,并在开头加上撇号。因此Excel将其识别为文本(这使得它们之间的距离相等)
或者,您可以添加一个帮助器列,通过使用公式将时间戳转换为文本。然后使用辅助列(文本)作为x轴
公式可能与您的本地化不同,但类似于
=TEXT(F:F, "DD.MM.YYYY hh:mm:ss")
显示数据可能也是个好主意。否则,这将无法复制。请看。@PEH请看一下问题底部的编辑。理想的解决方案是,我可以使X轴上的日期和图表保持等距。。。