首页 > 解决方案 > VBA 代码从重叠的不连续数组创建 2 个图形

问题描述

我正在尝试自动化一个从 1 个表生成 2 个 XYScatter 图的过程,并且似乎把它弄得一团糟。我遇到了多个问题,因此我将尝试一次描述 1 个。

第一个问题是设置 X 和 Y 范围。该表可以包含从 4 到几百行的任何地方。A 列 = X 值,F 列表示它是级别 1/图 1 还是级别 2/图 2,& 列 J = Y 值。我创建了 4 个范围变量,RngL1X、RngL1Y、RngL2X 和 RngL2Y。然后我编写了一些代码来遍历 F 列并填充数据范围(见下文)。

  1. 制作空范围的正确语法是什么?在我可以使用它们之前,范围需要具有初始值。我想将它们设置为“Empty”,但 VBA 不喜欢我尝试过的任何语法:Set RngL1X = " "、RngL1X = IsNull、RngL1X = IsEmpty 等。

  2. 这是填充变量的循环代码。在我解决初始值的问题之前,我无法判断它的效果如何。

    Range("F2").Select
    Do While IsEmpty(ActiveCell) = False
        If ActiveCell Like "*Level 1*" Then
            RngL1X = RngL1X & ", " & ActiveCell.Offset(0, -5)
            RngL1Y = RngL1Y & ", " & ActiveCell.Offset(0, 4)
        Else
            RngL2X = RngL2X & ", " & ActiveCell.Offset(0, -5)
            RngL2Y = RngL2Y & ", " & ActiveCell.Offset(0, 4)
        End If
        Debug.Print RngL2Y
        ActiveCell.Offset(1, 0).Select
    Loop
    

当我使用变量作为字符串(不是范围)测试循环时,它运行良好。

标签: excelvbascatter-plotnamed-ranges

解决方案


推荐阅读