我被困住了,想要一点帮助。我正在尝试在 D12、d14、d16 .... 到 d42 列上获取数量。比这个数量乘以一个值。价值表看起来像这样。
价值表
A B C
ItemName Quality Confort
1 Chair 2 1
2 Bed 0 3
3 Table 1 1
数量表
A B C D
ItemName QTYColumn
12 .. Table 2
13
14 .. Chair 5
15
16 .. Bed 6
总表
A B
Quality 12 (2*1 + 5*2 + 6*0 )
Confort 25 (2*1 + 5*1 + 6*3 )
我很确定我已经完成了最难的部分。我可以检查并从我想要的所有床单中获取数量。我还完成了一个函数,您可以在其中传递项目名称和统计信息名称,它会返回我想要的结果。
所以,我得到了这部分代码 atm 不起作用,它让我发疯。
For Counter = 12 To 42 Step 2
For Each qColumn In QTYColumn
Set QTY = Range(qColumn & Counter)
Dim ItemName As Range
ItemName= QTY.Offset(-2, 0).Select
total = total + (QTY * GetValue(ItemName, "Confort"))
Next qColumn
Next Counter
我的问题是 ItemName 变量。它总是空的,一旦我用调试器到达它,函数就会停止并关闭。有人知道为什么吗?对我来说,根据偏移量 -2 而不是列地址来获取它很重要,因为它可能因工作表而异,唯一“确定”的找到它的方法是获取数量左侧的第二个单元格细胞。