- ベストアンサー
【VB.NET】複数のサブルーチンを一気に抜ける方法
- VB.NETで複数のサブルーチンを一気に抜ける方法について教えてください。
- 特定の条件の時に、複数のサブルーチンを抜ける方法についてお知りになりたいです。
- 現在の方法ではコードが見にくくなってしまっています。他にスマートな方法はあるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
関連するQ&A
- VBA コードを中断するには?
下記コードにて、 aaaを実行し、Exit Subのところで実行そのものを終了させたいのですが、このままだとcccのコードが実行されてしまいます。 Exit Subのところをどう変更すればよいのでしょうか? Sub aaa() bbb ccc End Sub Sub bbb() 略 Exit Sub ←ここをどう書けば良いですか? 略 End Sub Sub ccc() 略 End Sub
- ベストアンサー
- Visual Basic
- サブルーチンの使い方
こんにちは 以前 このサイトでサブルーチンを教えて頂いたのですが 今回は、このサブルーチンを使って Commandbuttonに Sheets("20年7月度").Cells(2, 6).Value = Cells(2, 6) & Mojiを 入れたいのですが、どのようにすれば いいですか? 宜しくお願い致します。 Private Sub mySub(Moji) '数字 If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & Moji Else: TextBox1.Value = TextBox1 & Moji End If End Sub Private Sub CommandButton1_Click() 'サブルーチン Call mySub("1") End Sub Private Sub CommandButton2_Click() Call mySub("2") End Sub Private Sub CommandButton3_Click() Call mySub("3") End Sub Private Sub CommandButton4_Click() Call mySub("4") End Sub Private Sub CommandButton5_Click() Call mySub("5") End Sub Private Sub CommandButton6_Click() Call mySub("6") End Sub Private Sub CommandButton7_Click() Call mySub("7") End Sub Private Sub CommandButton8_Click() Call mySub("8") End Sub Private Sub CommandButton9_Click() Call mySub("9") End Sub Private Sub CommandButton10_Click() Call mySub("0") End Sub Private Sub CommandButton11_Click() Call mySub("00") End Sub Private Sub CommandButton12_Click() Call mySub("000") End Sub
- ベストアンサー
- オフィス系ソフト
- 複数のサブルーチンで使う定数をIf文で定義。。。
複数のサブルーチンで使う定数をIf文で定義。。。 今晩は,質問させていただきます.どうぞよろしくお願いいたします. Win7+VB2008になります。 OSの種類によって決まる定数を複数のサブルーチンで使いたい次第で ございますが、どのように書くべきでございましょうか??? 一旦下のようにコーディングいたしまして、 Public Class Form1 Dim OS種類 as Double Private Sub : Call OS調べ(OS種類) A = OS種類 *2 : End Sub Private Sub : Call OS調べ(OS種類) B = OS種類 *3 : End Sub Private Sub : Call OS調べ(OS種類) C = OS種類 *4 : End Sub Private Sub OS調べ(OS種類) If OS.Version.Major = 0 then OS種類 = 3.141592 else OS種類 = 1.0 EndIf End Sub ・・・すべてのサブルーチンにCallを描くのもすっきりいたしませんので、 毎回Callせずに、「OS種類」を使用できるようにしたいのですが、 予め定数として書いておくにはどのようにすべきでございましょうか?? (Class宣言文直後にIf OS.Version~と書こうといたしましたところ、 「ステートメントを、メソッド本体の外側に表示することはできません」と エラーになりました。。) もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- エクセルVBA サブルーチンの使い方
下記コードにて、MSGBOXで88を表示するには、どう変更すればよいですか? Sub aaa() bbb MsgBox b End Sub Sub bbb() b = 88 End Sub
- ベストアンサー
- Visual Basic
- サブルーチンの処理
すみませんが教えてください。 往年のF-BASICやN88などでは 10 INPUT A 20 IF A=1 then gosub 100 ELSE PRINT "Aは1ではありません!" 30 END 100 PRINT A 110 RETURN こんなふうだったかサブルーチンが使えたかと思います。 これをVB.NETでかくと Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim A As Integer A = TextBox1.Text If A = 1 Then ここにどういれたらいいでしょう Else MsgBox("Aは1ではありません") End If End Sub End Class になるとおもうのですが、Thenのあとサブルーチンへ飛ばせるのでしょうか? それとも根本的に考え方が違うのでしょうか? 初歩的な質問ですみませんが、Timer1.Enable = Trueを使った処理以外 入門書に載っていないので、どなたかお教えいただけませんでしょうか。
- ベストアンサー
- Visual Basic
- VBAでif文にorを使う場合の仕様
http://www.relief.jp/itnote/archives/vba-if-or.php このページにも書かれてあるのですが、 Sub textss() aaa = 2 If aaa = 0 Or 1 Then bbb = 1 ElseIf aaa = 2 Then bbb = 2 End If ccc = bbb End Sub を実行すると cccには2が代入されそうなのですが、実際には1が代入されてしまいます。 If aaa = 0 Or aaa = 1 Then と入力する必要があります。 それでは、 If aaa = 0 Or 1 Then とした時、プログラムではどういう処理がなされているのでしょうか?
- ベストアンサー
- Visual Basic
- VBA コンボボックス
VBAコンボボックスで AAAを選択→処理A BBBを選択→処理B CCCを選択→処理C としている場合、 AAAを選択→処理Aの後、コンボボックスで再度AAAをクリックしても次の処理Aにいきません。いったんBBBをクリックしてしてAAAをクリックすると処理Aに行きますが、連続AAAをクリックして処理Aはできないでしょうか。 何か方法はありませんか? Private Sub ComboBox1_Change() If ComboBox1.Value = "AAA" Then ’処理Aへ ElseIf ComboBox1.Value = "BBB" Then ’処理Bへ Else ’処理Cへ End If End Sub
- ベストアンサー
- Visual Basic
- excel vba call
1. if 条件 then call プロシージャ または 2. sub name() if 条件 then exit sub call プロシージャ end sub 1の場合、条件不成立 2の場合、条件成立 いずれも、call プロシージャが実行されてしまうのですが、callは無条件に実行されてしまうのでしょうか。
- 締切済み
- オフィス系ソフト
- マクロAAAの変数をマクロBBBで使いたい
マクロAAAの変数をマクロBBBで使いたいのですが Sub AAA() Dim xx xx = 15 Call BBB End Sub Sub BBB() マクロAAAの xx で処理作業 End Sub マクロAAAの xx は色々変化します。 このようなときどのようにすればよいのか お教えください宜しくお願いします。
- ベストアンサー
- Windows 7
- 参照渡し(ByRef)
参照渡しについてわからないのですが Option Explicit Dim buf As String Sub Sample1() buf = "aaa" Call Sample2("bbb") MsgBox buf End Sub Sub Sample2(ByRef a As String) a = "ccc" End Sub を実行すると、msgboxには、aaaが表示されますが、 途中のbbb,cccはどんな意味があるのでしょうか? また、 Sub Sample2(ByRef a As String) を Sub Sample2(a As String) にしてもコードは問題なく動きますが、 ByRefは役に立ってるのですか?
- ベストアンサー
- オフィス系ソフト
お礼
どうもありがとうございます!!m(_ _)m なるほどFunctionの使用でございますか。 確かにこれだと分かりやすいですね。 今全部書き換えている途中でございますが、 うまく動作してくれております。助かりました^^ この度はご親切にどうもありがとうございました!!^^