• ベストアンサー

プロシージャー名とか変数名に数値

プロシージャー名とか変数名に1や2などの数字は使えないのですが IやIIは使えるのはなぜですか? IIIやIVは数字ではなく文字なのでしょうか? また、(1)や(2)で始まる変数名を使ってもエラーにはなりませんか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

先頭文字の制限はあるが、かなり広範囲に使えるようだね。 http://officetanaka.net/excel/vba/variable/06.htm VBAでは、変数の命名に関して次のようなルールがあります。 (以下、Excel 2007のヘルプより抜粋) 変数名には、文字 (英数字、漢字、ひらがな、カタカナ) とアンダスコア (_) を使うことができます。 スペースや記号は使えません。 変数名の先頭の文字は、英字、漢字、ひらがな、カタカナのいずれかでなければなりません。 同一適用範囲 (スコープ) 内で同じ変数名を複数使うことはできません。 また、変数名の長さは、半角で 255 文字以内でなければなりません。 つまり 1.変数名には文字(日本語を含む)のほか、アンダーバー(_)だけを使えて、そのほかの記号やスペースは使えない 2.変数名の先頭が数字やアンダーバー(_)ではいけない 3.同じ適用範囲で同じ名前は使えない 4.変数名の長さは半角で255文字まで

khepzzdw9
質問者

お礼

ありがとうございます。

関連するQ&A

  • 配列をプロシージャの変数としたい

    ExcelVBAです。 Sub Test(ByRef i as Long , BuVal j as Long) のように、SUBプロシージャのカッコ内に変数をおき、他のプロシージャから呼び出して使うような場合についてですが、その変数を配列にしたいのですが、書き方が分かりません。 Sub Test(ByRef MyArray()) というようにしたらできるかと思ったのですが、できません。 よろしくお願いいたします。

  • 変数名を作る時

    変数名を作る時は strFolderとか intNoとか 変数の型を先頭につけてますが、 subプロシージャーやFunctionプロシージャーにも同じような事をしたいのですが どのような頭文字がいいでしょうか? 例えばMakeFolderというFunctionプロシージャーを作る時に、 Function FunctionMakeFolder() にしたら長いし Function FunMakeFolder() って見たことないのですが、皆さんどのように名前をつけてますか?

  • プロシージャー名を変数にはできない?

    シートに test1 test2 test3 として、 -------------------------------- Sub Sample() Dim myRow As Long Dim procedure As String For myRow = 1 To Cells(Rows.Count, "A").End(xlUp).Row procedure = Cells(myRow, 1) Call procedure Next myRow End Sub Sub test1() End Sub Sub test2() End Sub Sub test3() End Sub -------------------------------- こういう事ってできないのでしょうか? シートの文字を読み取ってプロシージャーを実行できれば、順番変えたり、要らないプロシージャーを消したりを、シート上で管理できるから楽なのになと思ったのですが。 これをやろうとすると、procedureというプロシージャーがないから Sub、Function、または Property が必要です。 になってしまいます。

  • 変数名を変数で指定するのに$_POST[

    http://oshiete1.goo.ne.jp/qa2691790.html の#1さんに,変数名を変数で指定できることを教わりました. 下記の3行目のように,です. for ($i=1;$i<=5;++$i){ if (${"var".$i}=="") { ${"errMsg".$i}=$i."が未入力"; } } ここで, (1) $_POST["form"] には「str」という文字列が入っています. (2) $Var には「10」という数値が入っています. (3) これらを結合し, どうしても $_POST["str10"] みたいな変数を作らなければならないのですが, ・<? echo $_POST["str" . $Var]; ?>では何も起こらず. ・<? echo $_POST[{"str" . $Var}]; ?>などと{}で括っても, Parse error: parse error, unexpected '{', expecting ']' in C:\temp.php on line 10. みたいなエラーになります. どういうのが正しい書き方でしょうか?

    • 締切済み
    • PHP
  • 変数名をプログラムで変える

    変数名$keyにある数字を一文字ずつ$w1、$w2・・・に入れていきたいと考えています。 if (isset($key)){ for($i=1;$i<strlen($key);$i++){ $w[$i]=substr($key,$i-1,1); } 変数w1、w2をfor文の中で変化させていきたいのですが、どのようにすればいいのでしょうか。 上記の$w[$i]ではだめでした。(配列になっちゃうのかな) 例えば$key=5432の場合、 $w1=5; $w2=4; $w3=3; $w4=2; としたいのです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ストアドプロシージャ内の変数

    10gをつかってます。 ストアドプロシージャ内のexecute immediate内で変数は使えないのでしょうか?

  • 変数名のつけ方が苦手みたいです><

    変数名のつけ方が苦手みたいで困っています。 「変数名のつけ方」などのサイトも読んでいるのですが、 ここでも質問させてください。 ・変数を作るとき(その言語での規則とは別に)、 みなさんなりに工夫されていることとかあれば教えてください。 ・それから、ループ処理のカウンタには、 伝統的に i~n がよく使われているみたいですけど、 どうしてこの6文字なんでしょうか? ・あと、これはプログラムについての質問ではないのですが、 ディレクトリ名やファイル名の上手なつけ方についても、 教えてほしいです。昔は8文字と拡張子のようでしたが、 今もこれを守っていますか? たくさん聞いてすみません。どれかひとつでも結構です。 よろしくお願いします。

  • プロシージャをまたいて変数を扱いたい!

    こんばんは! プロシージャ間での変数の取り扱いについて読んでいてよく分からないので教えて頂きたいです。 現在、ユーザーフォームにて下記のコードを記述していますが、テキストボックス1に表示するiの値を初めは50として、正解ならiに1を加算、不正解ならi から1を減算して、テキストボックス1の内容を更新するようにしたいのですが、どのように記述すればよろしいでしょうか。 ----------------------------------------------- private sub userform_initialize() Textbox1 = int(i) end sub ----------------------------------------------- private sub commandbutton1_click() If 条件式 then "正解" else "不正解" end if call userform_initialize() end sub ------------------------------------------------- commandbutton2 以降省略

  • プロシージャ名の取得

    教えてください。 VBで現在実行しているプロシージャ名を取得指定のですがkのようなことは可能ですか? 可能ならばどのようにすればいいか教えてください。 現在実行ファイルにて起動しているのですが、どこかで「実行エラー」が発生しています。 この実行エラーの場所の特定のために、現在起動中のプロシージャ名をログに保存しようかと考えています。 また、その他このようなエラー箇所特定方法などがありましたら教えてください。 環境:VB6.0  Win2000

  • 文字列型の一般的な変数名は?

    おはようございます。 サンプルコードで 数値型の変数名は Dim i As Long のようにiをよく見かけます。 ただ、私が勉強不足のため 文字列型の変数名の一般的な文字に何が使われているのかわかりません。 (str?moji?など?) サンプルコードを書くときに使用する 文字列型の変数名を教えてください!

専門家に質問してみよう