Ребят, сделал блок-схему. Ибо без неё уже долго делаю, и ничего совсем не получаеться, или получается не так:) А вот собственно код, который не работает:( [vba]
Код
Sub лалалала() 'Sheets.Add.Name = "Lissy1" ' âêëþ÷èòü âêîíöå Set sh1 = Sheets("Ëèñò1") If knl3 < 3 Or knl3 = "" And knl4 < 3 Or knl4 = "" Then MsgBox "Ëèñò óïðàâëåíèå, ñòîëáåö I, ÿ÷åéêà 11 èëè 12 çàïîëíåíû íåïðàâèëüíî. Äîëæíî áûòü ÷èñëî áîëüøå 3." End End If For i = 1 To knl3 m = 0 tzn4 = sh1.Cells(i, 4) tzn5 = sh1.Cells(i, 5) tzn10 = sh1.Cells(i, 10) If tzn4 >= 1 And tzn5 <> "" And tzn10 > 0 Then GoTo ssilka1 Else: GoTo ssilka2 End If ssilka1: m = m + 1 raznica = knl3 - i tze4 = tzn4.Offset(m, 0) tze5 = tzn5.Offset(m, 0) tze10 = tzn10.Offset(m, 0) If tze4 >= 1 And tze5 <> "" And tze10 > 0 Then If tze = tzn5 Then tze5.FormulaR1C1 = "Òî æå" v = 0 ssilka3:
If Application.CountA(sh1.Rows(i + m + 1)) = 0 And v < 10 Then v = v + 1 sh1.Rows(i + m + 1).Delete GoTo ssilka3 Else: GoTo ssilka1 End If
Else: GoTo ssilka2 End If
Else If m = raznica Then End Else: GoTo ssilka1 End If
End If
ssilka2: Next i 'sh1.Range("A1:E100").ClearContents 'Sheets("Lissy1").Delete ' âêëþ÷èòü âêîíöå End Sub
[/vba]
Там самое первое условие, его в схеме нету, но оно вроде такое обособленное и тут проблемы быть не должно. ну собственно ошибка else without if несколько раз проверил, вроде даже конце концов не запутался, но так и не пойму в чём дело.
Ребят, сделал блок-схему. Ибо без неё уже долго делаю, и ничего совсем не получаеться, или получается не так:) А вот собственно код, который не работает:( [vba]
Код
Sub лалалала() 'Sheets.Add.Name = "Lissy1" ' âêëþ÷èòü âêîíöå Set sh1 = Sheets("Ëèñò1") If knl3 < 3 Or knl3 = "" And knl4 < 3 Or knl4 = "" Then MsgBox "Ëèñò óïðàâëåíèå, ñòîëáåö I, ÿ÷åéêà 11 èëè 12 çàïîëíåíû íåïðàâèëüíî. Äîëæíî áûòü ÷èñëî áîëüøå 3." End End If For i = 1 To knl3 m = 0 tzn4 = sh1.Cells(i, 4) tzn5 = sh1.Cells(i, 5) tzn10 = sh1.Cells(i, 10) If tzn4 >= 1 And tzn5 <> "" And tzn10 > 0 Then GoTo ssilka1 Else: GoTo ssilka2 End If ssilka1: m = m + 1 raznica = knl3 - i tze4 = tzn4.Offset(m, 0) tze5 = tzn5.Offset(m, 0) tze10 = tzn10.Offset(m, 0) If tze4 >= 1 And tze5 <> "" And tze10 > 0 Then If tze = tzn5 Then tze5.FormulaR1C1 = "Òî æå" v = 0 ssilka3:
If Application.CountA(sh1.Rows(i + m + 1)) = 0 And v < 10 Then v = v + 1 sh1.Rows(i + m + 1).Delete GoTo ssilka3 Else: GoTo ssilka1 End If
Else: GoTo ssilka2 End If
Else If m = raznica Then End Else: GoTo ssilka1 End If
End If
ssilka2: Next i 'sh1.Range("A1:E100").ClearContents 'Sheets("Lissy1").Delete ' âêëþ÷èòü âêîíöå End Sub
[/vba]
Там самое первое условие, его в схеме нету, но оно вроде такое обособленное и тут проблемы быть не должно. ну собственно ошибка else without if несколько раз проверил, вроде даже конце концов не запутался, но так и не пойму в чём дело.best_vint
If tzn4 >= 1 And tzn5 <> "" And tzn10 > 0 Then GoTo ssilka1 Else GoTo ssilka2 End If 'Или так If tzn4 >= 1 And tzn5 <> "" And tzn10 > 0 Then: GoTo ssilka1: Else: GoTo ssilka2
[/vba]
ЗЫ: Приложить файл религия не позволяет?
Вот так записывайте условия. [vba]
Код
If tzn4 >= 1 And tzn5 <> "" And tzn10 > 0 Then GoTo ssilka1 Else GoTo ssilka2 End If 'Или так If tzn4 >= 1 And tzn5 <> "" And tzn10 > 0 Then: GoTo ssilka1: Else: GoTo ssilka2