• ベストアンサー

VBでのGOTO文はできますか?

 教えてください。 例えば)    もしA1セルが-1だったら、選択1へ飛び、黄色をつける。             0だったら、選択2へ飛び、赤色をつける。             1だったら、選択3へ飛び、青色をつける。    と選択肢が選択1・選択2・選択3と3つあった場合、それぞれにGOTO文で飛ばしたいのですが、可能でしょうか?  よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

GOTO文とCASE文利用を挙げます。 (GOTO文利用) Sub test01() i = 10 If Cells(i, 1) = -1 Then GoTo a1 If Cells(i, 1) = 0 Then GoTo a2 If Cells(i, 1) = 1 Then GoTo a3 GoTo a4 a1:  Cells(i, 1).Interior.ColorIndex = 6  MsgBox "-1" & "でした"  Exit Sub a2:   Cells(i, 1).Interior.ColorIndex = 3  MsgBox "0" & "でした"  Exit Sub a3:  Cells(i, 1).Interior.ColorIndex = 5  MsgBox "1" & "でした"  Exit Sub a4: End Sub '-------(CASE文利用) Sub test02() i = 10 Select Case Cells(i, 1) Case -1  Cells(i, 1).Interior.ColorIndex = 6  MsgBox "-1" & "でした" Case 0  Cells(i, 1).Interior.ColorIndex = 3  MsgBox "0" & "でした" Case 1  Cells(i, 1).Interior.ColorIndex = 5  MsgBox "1" & "でした" Case Else End Select End Sub 選択肢1,2,3ルーチンはCoLorIndexの次の行にいれてください。 沢山セルがある場合はiをFor i=1 to 30 とかで繰り返してください。

chobi101
質問者

お礼

 ありがとうございます。CASE文でやってみます。

その他の回答 (5)

  • miz-fuyu
  • ベストアンサー率8% (1/12)
回答No.5

No4の回答訂正。 ごめんなさい。 SwitchじゃなくてSelect Caseですね。

  • miz-fuyu
  • ベストアンサー率8% (1/12)
回答No.4

GOTO文を使った場合はこうなりますが…先の方の回答のとおり使用はあまりオススメは出来ません。 現在のVisualBasicは構造化記法で記述することが一般的でありこれらから外れるGoto文やGoSub文はソースの複雑化を招くためあまり使用しません。 先の方の言われるとおりIFやSwitchのみで記述するほうが良いと思います。 Public Sub main() If Cells(1, 1) = -1 Then    GoTo Yellow_Exe ElseIf Cells(1, 1) = 0 Then    GoTo Red_Exe ElseIf Cells(1, 1) = 1 Then    GoTo Blue_Exe End If Exit Sub Yellow_Exe:    '黄色色づけ処理の記入    Exit Sub Red_Exe:    '赤色色づけ処理の記入    Exit Sub Blue_Exe:    '青色色づけ処理の記入    Exit Sub End Sub

  • -boya-
  • ベストアンサー率35% (176/494)
回答No.3

Excelマクロ? Select Caseって使えませんかね? 例えばこんな感じ、、、 Select Case i Case 0 '黄色をつける Case 1 '赤色をつける Case 2 '青色をつける Case Else 'その他の場合の処理 End Select

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

可能です。ですけど、できるだけ GOTO文を使わないほうがいいですね。 っていうか、上記のたとえば、 IF文だけで すみます。

  • aloop
  • ベストアンサー率23% (10/43)
回答No.1

Excelマクロですか? ifかswitch文でできると思うのですが、だめでしょうか?

関連するQ&A