アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。VBAプログラム初心者です。

変数を宣言する際、
dim オーダ番号 as long, オーダ番号2 as long, …オーダ番号100 as long
という内容を一括で宣言することは可能でしょうか?

イメージ的には下のような感じなのですが。。。
dim i as integer
for i = 1 to 100
dim オーダ番号i as long
dim 単価i as long
next

マクロで便利にするつもりが余計面倒になっていて困っております。
解決策を教えていただけましたら幸いです。
何卒よろしくお願いいたします。

A 回答 (4件)

Dim オーダー番号(1 To 100) As Long



オーダー番号(1) = 123
オーダー番号(20) = 456

MsgBox オーダー番号(1) & vbLf & オーダー番号(20)

配列変数にしてしまうとか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
配列でできそうです!

お礼日時:2009/08/20 00:12

こんばんは。



配列変数を使うのかどうかは、なんとも言えません。
ピンポイントの質問で聞かれたらそうなるとは思うものの、全体をみずにして、どうするべきかは判断が付きません。その変数をどう使うかであって、変数100個が必要であるかは分かりません。単に、値を置くのなら、ワークシートを利用してもよいのです。言い換えると、今のままのコードの延長で、そこだけを直せば済むかどうかは分からない、ということです。そこまでの自信があるなら、逆に、そのような質問は出ないはずです。

>マクロで便利にするつもりが余計面倒になっていて困っております。

それは、この手のプログラミング言語では、入力の手間は、何時間、何日、何ヶ月という時間を要しても、必要なら何千行も、手書きで書かなくてはなりません。手間自体は惜しんではいけません。しかし、不必要なコードを書くべきではありません。
    • good
    • 0
この回答へのお礼

ご指導ありがとうございます。
よく考えて見ます。

お礼日時:2009/08/20 00:16

これこそ配列を使うケースであって、何でこんなことが質問になるのかな。


dim a(100) とか定義しますが、aがオーダー番号になっただけでしょう。
要素は添え字でなく、配列要素で指定すればよい。a(x)のx。
配列の導入の必要性説明で、普通A1,A2,A3,・・・と定義するのは大変なのでA(100)と配列を使うと便利ですと説明されます。質問者が問題を難しくして質問しているだけ。頭で、多分中身は何かの「オーダー番号」だとイメージしておれば済む話では。
質問者側に反論ががあればどうぞ。
変数なども名前表現でで性格や中身を十分は表せないのですから拘らなくて良いと思うが。上記でも、「何のオーダー番号?」だと言われれば(配列)変数名では表現できてないでしょう。
    • good
    • 0

>マクロで便利にするつもりが余計面倒になっていて困っております。



どのような使い方をするのか解りませんが、普通は配列を使います。


Dim オーダ番号(100) as Long

http://www.officepro.jp/excelvba/array/index2.html
http://pc.nikkeibp.co.jp/article/NPC/20070802/27 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
配列でできそうです。
教えていただいたリンクも大変参考になりました。

お礼日時:2009/08/20 00:13

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

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