ここから本文です

VB2013でプログラムしています。同じ処理が複数有る場合、毎回同じコードを書かな...

shi********さん

2018/4/3022:27:39

VB2013でプログラムしています。同じ処理が複数有る場合、毎回同じコードを書かなくても良いように、まとめる事はできますか?

似たような質問を色々見たのですが微妙に違う質問が多かったので・・・

例としては、処理Bに当たる部分なのですが・・・

Select Case 条件式
Case 条件1
IF 条件式 Then
処理A
Else
処理B
End IF

Case 条件2
IF 条件式 Then
処理C
Else
処理B
End IF

Case 条件3
IF 条件式 Then
処理D
Else
処理B
End IF

Case 条件4
IF 条件式 Then
処理E
Else
処理B
End IF



閲覧数:
45
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

mag********さん

2018/4/3023:04:11

関数やメソッドって聞いたことありませんか?
何度も使用する共通な処理は、サブルーチンやファンクションで外出しにして、Call で処理を読み出します。(Call は省略可能)

Sub 処理A()
処理Aの内容を記載
End Sub

Sub 処理B()
処理Bの内容を記載
End Sub

Sub 処理C()
処理Cの内容を記載
End Sub

と サブルーチン を作成します。

Select Case 条件式
Case 条件1
IF 条件式 Then
Call 処理A
Else
Call 処理B
End IF

Case 条件2
IF 条件式 Then
Call 処理C
Else
Call 処理B
End IF




と 「Call サブルーチン名」で、処理をコールします。
処理A、処理A ・・・・は一か所しか書きません。

https://msdn.microsoft.com/ja-jp/vba/language-reference-vba/article...

https://msdn.microsoft.com/ja-jp/library/dd314348.aspx


※質問文を読んで回答してみましたが、あなたのやりたい事と違っていたら、この回答は無視してください。

質問した人からのコメント

2018/5/2 00:48:37

ありがとうございます。

別に回答していただいた方のFlagも使えそうでしたが、色々応用ができそうな回答でしたのでベストアンサーにいたしました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

red********さん

2018/5/122:18:28

抽象的なコードより 具体的なコードの方がより的確な回答が得られますよ

仮に各ケースのIF文の条件しか同一であるなら
select case を IFで囲んでしまうといった手法もあります

IF 条件式 Then

Select case 条件選択
case 条件1
処理A
case 条件2
処理C
case 条件3
処理D
case 条件4
処理E
End Select

Else
処理B
End If
と言った具合で …

kar********さん

2018/5/106:01:20

Select Case 条件式 に対する
Case 条件1 ・Case 条件2・・・・

が何であるのか?


Select Case 条件式

IF 条件式 Then
及び
Case 条件1
IF 条件式 Then の条件式

Case 条件2
IF 条件式 Then 以下続く 条件式が同じであるのか?

等にもよるのでは?

特にCaseが増えてる事が問題であるのなら、Select Caseの内容が不明では難しそうに思いますよ(回答する面で)

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる