2017-08-13 9 views
1

このコードをデバッグしようとすると、2つのエラーが表示されます。最初に「制御変数が既に使用されています」と表示され、2番目のエラーは「Expected end Sub」です。私のコードの目標は、私が自分のシート「ポトー」に一連の小切手を作成し、シート「努力ポトー」から値を取り出してポトーの特定のセルに入れて、フォーミュラがチェックされるようにしたいということです。 msgボックスは、それが良いかどうか私に与えます。私はvbaとそれを試して私に新しいです。期待エンドサブと既に使用中の制御変数のエラー

Private Sub CommandButton1_Click() 
    For i = 4 To 15 
     Sheets("Poteaux").Range("C4").Value = Sheets("Efforts poteaux").Cells(i, 6) 
     Sheets("Poteaux").Range("D4").Value = Sheets("Efforts poteaux").Cells(i, 11) 
     If Sheets("Poteaux").Value("I4") = "NG" Then 
      Sub Msg_exe() 
      MsgBox "NG" 
      End Sub 
      Exit For 
     End If 
    Next i 
    MsgBox "OK" 
End Sub 
+0

なぜ、 'Sub Msg_exe()'を他の 'Sub'の中に置いたのですか?なぜそれの上にmsgboxを置くだけではないのですか? –

+0

このプロパティまたはメソッドをサポートしていないため、サブmsg_exe()... –

答えて

0
Private Sub CommandButton1_Click() 
For i = 4 To 15 
Sheets("Poteaux").Range("C4").Value = Sheets("Efforts poteaux").Cells(i, 6) 
Sheets("Poteaux").Range("D4").Value = Sheets("Efforts poteaux").Cells(i, 11) 
If Sheets("Poteaux").Range("I4") = "NG" Then 
    MsgBox "NG on " & i 
    Exit Sub 
End If 
Next i 
MsgBox "OK" 
End Sub 
+0

を追加したことがあるかどうかわからないエラーが発生しましたので、シート(Poteaux) )= "NG" – Jeeped

+0

しかし、それはすぐにそこに座っています:) –

+0

これは常に私にオブジェクトのdoenstのサポートプロパティまたはメソッドをmsgboxの行に与えます –

0

巣サブプロシージャに行わないでください。それらを独立してコード化し、と呼んでください。

Private Sub CommandButton1_Click() 
    dim i as long 

    For i = 4 To 15 
     workSheets("Poteaux").Range("C4") = workSheets("Efforts poteaux").Cells(i, 6).Value 
     workSheets("Poteaux").Range("D4") = workSheets("Efforts poteaux").Cells(i, 11).Value 
     If workSheets("Poteaux").RANGE("I4") = "NG" Then 
      Msg_exe i 
      Exit For 
     End If 
    Next i 
    MsgBox "OK" 
End Sub 

Sub Msg_exe(i as long) 
    MsgBox "NG on " & i 
End Sub 
+0

これは私のために働いた、どのように私はメッセージボックスが私に "NG"チェックを持っているの私を与えることを追加することができますか? –

+0

私は、現在の値iのパラメータ渡しを追加しました。 – Jeeped

+0

私は新しいエラーを受け取りましたByref引数型の不一致行Msg_exe i –

関連する問題