プロが教える店舗&オフィスのセキュリティ対策術

下のFor文でセルに0から9999の数字を入力しようとしたのですが
「forで指定された変数は既に使用されています」というエラーがでます。

Dim i As Integer
Dim Num(3) As Integer

For Num(0) = 0 To 9
For Num(1) = 0 To 9
For Num(2) = 0 To 9
For Num(3) = 0 To 9
Cells(i, 1) = Num(3) + Num(2) * 10 + Num(1) * 100 + Num(0) * 1000
i = i + 1
Next Num(3)
Next Num(2)
Next Num(1)
Next Num(0)

他には何にも書いていないマクロなので他所で使用しているとも思えないですが
うまくゆきません。
続きの作業でNum()を配列として作業したいのでこの形を変えたくありません。
何がいけないのでしょう?

A 回答 (2件)

For文のカウント用変数に配列変数は使えないようです。

ヘルプを参照してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
会社のパソコンで作業しているのですがヘルプを
開くとなぜかしらエクセルが止まっちゃうんです。

マニュアル片手に作業中ですが、
仕様とはうかつでした。
泥臭い方法ですがカウント用の辺すを別に用意して
毎回代入するようにしました。

お礼日時:2006/07/18 19:34

0000から9999でいいならそんなことしなくても


Dim i As Integer
For i = 1 to 9999
Cells(i,1)=i
Next i
でいいのでは?
    • good
    • 0
この回答へのお礼

質問文にも書きましたが、配列を使って作業したかったのです。
9999までのカウントはエラーの原因切り分けに
他の部分を全て削ったもので、実現したい最終形態ではないのでお知らせいただいた方法では解決できません。

お礼日時:2006/07/18 19:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています