こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBA の if elseについて

 以下は与えられた自然数が素数であるかどうかを判定する、Excel VBA による素朴なコードです。

 自然数が2 とそれ以上の場合で処理を分けていますが、5 行目のelseで

  対応するifがないという

というコンパイルエラーが出ます。私はプログラミング言語は、Pascal しか経験がなく、Pascal の場合 5 行目の else から後の処理したい複数の構文を begin end で囲めば問題なく動きます。

 Excel VBA で同じ処理をさせるにはどうしたらいいのでしょうか?

 Worksheets("素数").Activate  '"素数"シートをアクティブにする
 Flg = 0
 Target = Range("D5").Value
 if Target = 2 then MsgBox ("2 は素数です。")
 else  'else 対応するifがないというエラーが出る

 'begin ・・・・・ Pascalの場合
   K = Int(Target / 2)
   ' 2 以外の素数は奇数なので偶数で割ることを確認する必要はない。
   For I = 3 To K Step 2
    If Target Mod I = 0 Then
     Flg = 1
     Exit For
    End If
   Next I
  
   Snum = Format(Target)

   If Flg = 0 Then
    MsgBox (Snum + " は素数です。")
   Else
    MsgBox (Snum + " は素数ではありません。")
   End If

 'end ・・・・・ Pascalの場合

 End If

投稿日時 - 2018-08-31 09:01:32

QNo.9532585

困ってます

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

http://officetanaka.net/excel/vba/error/compilation_error/error_13.htm

試しちゃいませんが、この辺をどうぞ。

投稿日時 - 2018-08-31 09:09:30

お礼

ありがとうございました。コードは他にもいろいろ問題がありました(笑)

投稿日時 - 2018-08-31 09:39:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問