在命名范围中设置变量(循环)

时间:2017-02-19 15:18:27

标签: excel vba excel-vba

我想用某种循环调用命名范围让我们假设我有一张表:

2个命名范围
2个形状
[namedrange1]设置为A1
[namedrange2]设置为A2
范围A1值为1
范围A2值为2
第一个形状命名为shape1
第二个形状命名为shape2

我想对形状做些什么,例如移动它们,我可以这样做:

Sub moveshapes()  
ActiveSheet.Shapes("shape" & [namedrange1]).Top = Cells(3, 3).Top  
ActiveSheet.Shapes("shape" & [namedrange2]).Top = Cells(3, 3).Top  
End Sub 

但我不想这样做。如果我喜欢100个形状怎么办?我需要在命名范围NAME中使用某种带变量的循环。我尝试了下面的代码,但它不起作用..

Sub moveshapes()  
Dim i As Integer  
For i = 1 To 2  
ActiveSheet.Shapes("shape" & [namedrange & i]).Top = Cells(3, 3).Top  
Next i  
End Sub 

0 个答案:

没有答案