ďťż

Ładny brzuch

Witam.
W szkole na zajęciach z Excela próbowaliśmy naskrobać grę w VBA. Cały kod jest z książki - nie wiem niestety jakiej. Gra miała polegać na losowym ułożeniu liter w komórkach A1:D4. Potem należało dodać przycisk START i RUSZAJ i przypisać do nich makro.
Podczas próby uruchomienia wyskakuje:

Compile error:
Next without For

Bąd w 6 lini od dołu ;)
Next j

Może ktoś z Was "przerabiał" akurat taki materiał lub po prostu wie jak to odpalić ;)
Kod źródłowy (błędny ;) ) poniżej:

Option Explicit Dim ii As Integer Dim jj As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim p(15) As String * 1 Dim koniec As Boolean Sub startuj() Dim tmp As String * 1 If MsgBox("Zaczynamy..?", 292, "Nowa gra...?") <> 6 Then Exit Sub p(0) = " " For i = 1 To 15 p(i) = Chr(64 + i) Next i Randomize For k = 1 To 18 i = Int(16 * Rnd()) j = Int(16 * Rnd()) tmp = p(i) p(i) = p(j) p(j) = tmp Next k k = 0    For j = 1 To 4        For i = 1 To 4            Cells(j, i).Value = p(k)            If p(k) = " " Then            ii = i            jj = i        End If    k = k + 1 Next i Next j Cells(jj, ii).Select End Sub Sub ruszaj() j = ActiveCell.Row i = ActiveCell.Column If (i > 4) Or (j > 4) Or ((i = ii) And (j = jj)) Or ((i <> ii) And (j <> jj)) Then Exit Sub If j = jj Then    If i > ii Then        For k = ii To i - 1            Cells(jj, k).Value = Cells(jj, k + 1).Value        Next k        Cells(jj, k).Value = " "    Else            If i < ii Then            For k = ii To i + 1 Step -1            Cells(jj, k).Value = Cells(jj, k - 1).Value        Next k    Cells(jj, k).Value = " " End If End If Else If j > jj Then    For k = jj To j - 1        Cells(k, ii).Value = Cells(k + 1, ii).Value    Next k    Cells(k, ii).Value = " " Else If j < jj Then    For k = jj To j + 1 Step -1    Cells(k, ii).Value = Cells(k - 1, ii).Value Next k Cells(k, ii).Value = " " End If End If End If ii = i jj = j koniec = True For i = 1 To 4    For j = 1 To 4        If (i * j < 16) And (Cells(i, j).Value <> Chr(j + 4 * i + 60)) Then        koniec = False    Next j Next i If koniec Then    If MsgBox("to dopiero: " + Times$() + Chr(13) + "zagraj sobie jeszcze raz...", 64, "GRATULACJE..!") Then Exit Sub End Sub

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •