我有一个二维数组(尺寸为0到19,0到7),我有一个列表框,其中第0列显示数组中第0行的值。在列表框第3列(第4列)中,我有一个带有逗号分隔符的RGB值,例如0,255,255。我在我传递的数组类的功能,并且列表框像这样的参数(点的坐标位置,但这个问题不相关):获取列表项值,同时循环访问数组
Set oText_LB1 = TextFromArray(Point, ArraysSorted(0), FrmMain.LB_Sheet1)
函数声明写为:
Private Function TextFromArray(Point As Point3d, ByRef CurrArray As Variant, ByVal LBox As ListBox)
的TextFromArray功能的目的是创建从数组值和一些列表框列中的文本元素被用于存储文本格式的值(颜色/字体/高度&宽度尺寸等)。文本元素是以转置格式创建的,即标题在左边(垂直堆叠),而数组中的列值是从左到右水平创建的。因此我的数组循环代码是:
For C = LBound(CurrArray, 2) To UBound(CurrArray, 2)
For R = LBound(CurrArray, 1) To UBound(CurrArray, 1)
当我开始的每一行,我想获得存储在列表框中第3列,使所有文本元素都使用正确的颜色产生例如值对于数组行0,获取0,3的列表框值。我以前只是将RGB值作为参数传递给TextFromArray函数,并且一切正常,但我正在努力如何使用获取值。我尝试过使用:
For C = LBound(CurrArray, 2) To UBound(CurrArray, 2)
For R = LBound(CurrArray, 1) To UBound(CurrArray, 1)
sRGBVal = CStr(LBox.List(C, 3))
但是这给出了null错误的无效使用。我希望有人能指出我正确的方向。如果有任何信息缺失,请告知我,如有必要,我会提供其他代码或图片。
感谢
你在哪一行得到错误? –
带sRGBVal的第三行是发生错误的位置。我需要数组列的值与列表框的行值相关联,并捕获该列的列表框3列中的项目值。 – KnightFallz
C的价值是什么?另外,你如何将列表框传递给函数?如果您停止代码并在即时窗口中执行操作:?LBox不算什么,您是否确认该对象存在? –