VBA:与单元格位置偏移

时间:2017-03-18 16:18:13

标签: vba runtime-error offset

我一直在搜索,只能修复偏移量(http://www.homeandlearn.org/the_offset_property.html)?

我想知道如何做一个变量偏移。例如,我从工作表(1)中选择一个固定值,根据您在下面可以看到它将执行偏移的条件,并使用工作表代码(2)中的公式中的偏移值。

工作表1:我有A到H列和第1行

     A    B    C    D    E    F    G    H
1    5         10        15        20    

工作表2:我有B列和第14到18行。在此工作表中,值2,3,4,5,6是随机的,用于确定工作表中要偏移的列数。接下来,我表达了我想要做的事情,可能更容易理解。

Row                   B                             
 14    2  Sheets(1).Offset(A1,0,($B2-$B$2)*2,1,1)= Offset(5,0,(2-2)*2,1,1) =5 (A1)
 15    3  Sheets(1).Offset(A1,0,($B3-$B$2)*2,1,1)= Offset(5,0,(3-2)*2,1,1) =10 (C1)
 16    4  Sheets(1).Offset(A1,0,($B4-$B$2)*2,1,1)= Offset(5,0,(4-2)*2,1,1) =15 (E1)
 17    5  Sheets(1).Offset(A1,0,($B5-$B$2)*2,1,1)= Offset(5,0,(5-2)*2,1,1) =20 (G1)
 18    6  Sheets(1).Offset(A1,0,($B6-$B$2)*2,1,1)= Offset(5,0,(6-2)*2,1,1) =0 (I1)

在我的搜索过程中,我发现可以通过放置所需的行数和列数进行偏移来进行偏移。但是,它对我不起作用。

由于以下代码,返回时间错误'1004,我想知道为什么?是不是应该返回一个值?如果一切都已定义,为什么偏移不起作用?怎么了?

Sheets(1).Cells(1,1).Offset(0,(Cells(i+countRows,3) - Cells(i,3))*2))

如何解决此错误?

我希望我能说清楚。

提前致谢!

0 个答案:

没有答案