Excelマクロで"elseに対応するIFがありません"とエラーが出ます


Sub test()
Dim i As Integer 'カウンタ
Dim lol As Integer '終末数

Sheets("用紙").Select
Range("a1").Value = lol
Worksheets("用紙").Activate

For i = 1 To 150 Step 1 '人をループ
If lol < i Then '終了判断

End If

Else
Range("b1").Select
ActiveCell.FormulaR1C1 = i

 ------略-------

Next i

End Sub
こんな感じの普通のIF文をExcelマクロで動かしたいのですが
作動させると表題のエラーが出ます。

以前組んだマクロでも同様の症状が出ます。(以前は正常に動いていました)
突然このような事が起こってしまい原因も判らないので困っています。
よい解決策が有りましたら教えてください

OSはXPHome Excelは2003です。

回答の条件
  • 1人2回まで
  • 登録:2006/09/28 13:14:20
  • 終了:2006/09/28 16:18:27

回答(3件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/09/28 13:20:00

ポイント27pt

Elseの使い方が 間違ってます。

If lol < i Then '終了判断

End If

Else

ではなく

If lol < i Then '終了判断

'lol < i の時の処理

Else

'lol < i 以外の時の処理

End If

として使います。

id:ootatmt No.2

ootatmt回答回数1307ベストアンサー獲得回数652006/09/28 13:20:29

ポイント27pt

else が if ~ endif の外に出てしまっています。

if ~ then ~

else ~

endif

の順にする必要があります。

id:cateyes No.3

cateyes回答回数89ベストアンサー獲得回数32006/09/28 13:49:10

ポイント26pt

http://www.com

End if は最後に書いて下さい。

修正するとこうなります。

If lol < i Then '終了判断

Else

  Range("b1").Select

  ActiveCell.FormulaR1C1 = i

End If

しかし、if文の中に何も書かないのであれば

If lol > i Then '終了判断

  Range("b1").Select

  ActiveCell.FormulaR1C1 = i

End If

と、「lol < i」を「lol > i」に変えれば

elseは不要ですよ。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません