![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
EXCEL2010マクロの初心者です。基本的なことを質問します。ループ処理がうまくいかないのでループ処理で変数を表示させたらnull値になっていました。なぜでしょうか。宜しくお願いします。
-----------------------------------------------------
Sub 例題()
Dim hen as integer '変数
Dim cnt as integer 'くりかえし回数
hen = 1
cnt = 1
MsgBox("処理前hen = " & hen )
For cnt = 1 to 10
call サブ
Next cnt
~
End sub
-----------------------------------------------------
sub サブ()
MsgBox("サブhen = " & hen )
~
End sub
-----------------------------------------------------
No.1ベストアンサー
- 回答日時:
こんにちは。
今、VBAのレベルはどのぐらいですか? 1ヶ月目、2ヶ月目?
テキストは使っらっしゃいますか?
初心者といっても、サブ・プロシージャに手を付けているのですから、ここまで来るには、それなりの勉強はしたはずです。初心者で、いきなりということはありえません。もし、いきなりでしたら、最初から順序よく勉強したほうがよいです。この問題の意図は分かりますが、回答者が答えてもしょうがないような気がします。
>なぜでしょうか。
分かりません。Null値の出る要素が見当たりません。何か、コードで見せられていない部分があると思われます。Null値は、一般的には、Variant型の変数に入りますが、自動的に入ることは私の記憶には覚えがありません。
ここの題材は、「モジュール変数」のことだと思います。しかし、それにしてはヘンなコードです。
ヒントだけ書いておきます。後は、ネットで知らべてください。
'//
Sub 例題()
Dim hen as integer '変数 ←モジュール変数にする
Dim cnt as integer 'くりかえし回数 As が小文字、Integerの先頭の Iが小文字
hen = 1
cnt = 1 '←不要
MsgBox("処理前hen = " & hen )
For cnt = 1 to 10
call サブ
Next cnt
~
End sub
'-----------------------------------------------------
sub サブ()
MsgBox("サブhen = " & hen )
~ '←ここに hen = hen +1 が入ったりする
End sub
'-----------------------------------------------------
ありがとうございました。
>最初から順序よく勉強した方が…
仰る通りです。
初歩的な知識が抜けていました。
call命令での変数の引渡し記述が抜けていました。
VBは数年前にかじった程度なので
思い出しながら苦労しています。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAに関する質問です 2 2022/03/30 22:44
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
引き渡したループ処理で変数がn...
-
プログラムの素朴な質問です 分...
-
【VB6.0】 あるフォームから他...
-
【VBScript】変数のスコープ
-
引数
-
【HTML、VBScript】HTAアプリケ...
-
SOP
-
プロシージャまたは関数の引数...
-
ドラゴン曲線を再帰で書く
-
VBA public変数はどのようなこ...
-
【VB.NET】テキストボックスに...
-
C言語のサフィックスについて
-
アクセスできない保護レベルエ...
-
コンボボックスからテキストボ...
-
VBAでcallで呼び出したsubを終...
-
ユーザーフォームへのデータ入...
-
チェックボックスを操作できな...
-
エクセルVBAでテキストボッ...
-
String型の値にスラッシュをつ...
-
VBAで入力数値について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VB6.0】 あるフォームから他...
-
プログラムの素朴な質問です 分...
-
プロシージャまたは関数の引数...
-
定数を構造体で・・・
-
パーソナルXLSBのfuctionを呼び...
-
PL/SQLのプロシージャ間でカー...
-
【VBScript】変数のスコープ
-
プロシージャを呼び出したプロ...
-
VB6のFriendについて
-
【HTML、VBScript】HTAアプリケ...
-
C++からfortran77を呼び出す
-
HTML + VBScript で Sleep でき...
-
Excel VBA カーソルを当てた際...
-
subプロシージャーですか?sub...
-
変数を複数のモジュール間で共...
-
整数を二つ読み込み、それらの...
-
VB2010からPROCEDUREを実行でエ...
-
ExcelのVBA。Staticな変数について
-
Excel vba で複数のテキストの...
-
VBA public変数はどのようなこ...
おすすめ情報