ОД
Оксана Джаватханова

в чем ошибка? код на VBA

Sub L_4()
ActiveSheet.Cells.Clear
Dim A As Single, B As Single, C As Single, D As Single, H As Single
K1% = 0: K2% = 0: K3% = 0: A = 3: B = -1: C = 4: D = 0.4: H = 0.2: X = 0: y = 0: i% = 2
For X = 0 To 1 Step H
If X > D Then y = A Else
If y = D Then y = B Else y = C

Cells(i, 4) = Format(y, "00,000")
If y > 0 Then K1 = K1 + 1 Else
If y = 0 Then K2 = K2 + 1 Else K3 = K3 + 1

i = i + 1
Next X
End Sub

Вот такой код. Сам код на машине исполняется правильно, но преподаватель видит ошибку в строке:
If y > 0 Then K1 = K1 + 1 Else
If y = 0 Then K2 = K2 + 1 Else K3 = K3 + 1

Енд иф надо, или что?

Ру
Руслан

вот выдержка из справки по VBA:

If...Then...Else Statement

Conditionally executes a group of statements, depending on the value of an expression.

Syntax

If condition Then [statements] [Else elsestatements] - это простая форма if которую вы и применили

Or, you can use the block form syntax: переводится: ИЛИ, можете использовать блочную форму синтаксиса с

If condition Then
[statements]

[ElseIf condition-n Then
[elseifstatements]

там есть такая фраза:
The block If must end with an End If statement.
блочный if обязан иметь end if

И напоследок: лучше применять блочную структуру, тогда программа принимает хорошо структурированный вид особенно при применении отступов увеличивающихся с уровнем вложенности условных операторов, и становится более читабельна

Похожие вопросы
Во что компилирует код VBA Excel?
Код VBA работает с ошибкой, почему?
Помогите, пожалуйста, чего не хватает в коде? VBA
какая ошибка в коде????
Помогите найти ошибку в скрипте VBA
Проблема с кодом в VBA Excel
Помогите с кодом по VBA (VisualBasic) в Excel
код ошибки 0х0000007в
php в чем ошибка кода
Код ошибки: ERR_CONNECTION_TIMED_OUT