2017-03-14 9 views
0

これが可能かどうか、基本的には変数のセット(sh0、sh1、sh2など)を生成したいのでしょうか?私は配列を使うことを考えていますが、それを動作させることはできません。 は、ここに私のコードです:配列から変数名を設定する

Dim intI As Integer 
Dim shArray(0 To 10) As String 
For intI = 0 To 10 
    shArray(intI) = "sh" & intI 
    Dim shArray(intI) As Shape 'stumped in this part 
    Set shArray(intI) = s3.Duplicate(0, s3.SizeHeight * -1) 
Next intI 

は、上記のコードのブロックを実行すると、エラー「必要な定数式」を生成します。私はあなたがそのように変数を宣言することはできません知っている、私は他の方法を考えることはできません。 ありがとうございます。

+0

:このpart'に困惑形状として 'shArray(INTI)= "SH" &インティ 薄暗いshArray(INTI)」? – Stefan

+0

「シェイプ」タイプとして宣言します。最終的にはDim sh0 As Shape ...のようになります。 –

+0

@Ran_TH作成したいシェイプの配列はどうしますか?シェイプの配列と 'shArray(intI)'の関係はどうですか? –

答えて

0

オーケー私はそう私のコード、私はつもりは将来の参考としてとにかく

を自分の質問に答えるので、代わりの、私が代わりにVBコレクションを使用していアレイを使用しようとしていると思ったので、私はようやく私の問題を解決しました最後は次のように実行します:

あなたがやろうとしている何
Dim sColl As New Collection 
Dim shDupe As Shape 
Dim i As Integer 
Dim f As Shape 
Set shDupe = ActiveSelection.Group 
sColl.Add shDupe 
For i = 1 To 3 
    If sBottomLimit = 1 Then 
     Set f = sColl(1) 
     Set f = f.Duplicate(f.SizeWidth, 0) 
    Else 
     Set f = sColl(i) 
     Set f = f.Duplicate(0, f.SizeHeight * -1) 
    End If 
    sColl.Add f 
Next 
関連する問題