2016-08-15 1 views
-1

このエラーは、終了していない場合に発生しますが、見つからない場合に発生することがよくあります。私はExcelのVBAの完全な初心者ですので、私に同行してください。ここに私のコードです。基本的に、このマクロの要点は、a9とb9の選択された値のペアを読み取り、a9とb9の値に対応するまで結果リストを検索し、その特定の行の列に1を追加することです。インクルードが発生したことがないけど、まだ文法的にあなたがループの終わりをマークするために行った後、ループを持っている必要があることを意味コンパイルエラー:ループなしで行う

の終了直後まであなたがしない持っている一番下に
Dim z As Integer 
z = 42 
'If selected adc = adc in row z 
' Then if selected sp = sp in row z 
'Add 1 to win column in row z 

If [a9] = [g[z]] Then 
    If [b9] = [h[z]] Then 
    [i[z]] = [i[z]] + 1 
    End If 

    'Elseif selected adc =/= adc in row z 
    'Then add 1 to row 
    'Do until selected adc = adc in row z 

ElseIf [a9] <> [g[z]] Then 
    z = z + 1 
    Do Until [a9].Text = [g[z]].Text 
    Exit Do 

    'If selected sp = sp in row z 
    'Then add 1 to column h (win column) in row z 

    If [b9] = [h[z]] Then 
     [i[z]] = [i[z]] + 1 
    End If 

    'If selected sp =/= sp in row z 
    'Then add 1 to row 
    'Do until selected sp = sp in row z 

    If [b9] <> [h[z]] Then 
     z = z + 1 
     Do Until [b9].Text = [h[z]].Text 
     Exit Do 
     If [b9] = [h[z]] Then 
      [i[z]] = [i[z]] + 1 
     End If  
+1

「あなたの 'Do'は' Loop'を持っていません。 ( 'Exit Do'は' Exit For'のようなもので、その文の終わりを置換するものではありません) –

答えて

1

、。

関連する問題