2015-06-25 40 views
0
y = 3 
For x = 1 To 600 
If Cells(x, y) = "CD Sector Average" Then 
    CDPerc = Cells(x, y + 7).Value 
    CDComp = Cells(x, y + 9).Range: Cells(x, y + 20).Range 
End If 

这仅仅是我在做什么的一部分,但我想9列设置单元格的范围在同一行中的文本,以20为右变量。行中还有其他数据,所以我不能将整行设置为变量。有没有一种方法可以做到这一点,而无需将每个单元格设置为不同的变量?使用相对引用的范围设置为变量VBA

+0

为什么你不能直接这样做对工作表? – Bathsheba

+0

我不确定我是否明白你想要做什么。在我看来,你已经在做你想做的事了。除非你想删除CDPerc和CDComp?如果是这种情况,我必须知道它们是什么。 (如果你的CDComp是一个范围,你不应该使用“Set CDComp =”?) –

回答

0

如果CDCompRange,那么你想要的:

Set CDComp = Range(Cells(x, y + 9), Cells(x, y + 20)) 

,或者如果它是一个Variant,你要加载的数组:

CDComp = Range(Cells(x, y + 9), Cells(x, y + 20)).Value