1

実行したいループがありますが、ボタンが押されるまで次の「i」に移動したくありません。私のコードは次のとおりです。問題は「If GoGo」の場所だと思いますが、いろいろなところで試しました。

Sub GoGo()
    Public GoGo As Boolean
    GoGo = True
End Sub

Sub Runn()
    Dim lastrow As Long, i As Long

    For i = 23 To 32
        DoEvents
        If GoGo = True Then
            If Cells(i, 1) <> 0 Then
                 Range("B5").Value = Cells(i, 2).Value
                 Range("E5").Value = Cells(i, 3).Value
                 Range("E11").Value = Range("C33").Value
                 Application.Run ("Realcount")
                 Application.Run ("Realcount2")
            End If
        End If
    Next i
End Sub
4

1 に答える 1

1

これはあなたがしようとしていることですか?

Public GoGo As Boolean

Sub GoGoProc()
    GoGo = True
End Sub

Sub Runn()
    Dim lastrow As Long, i As Long

    i = 23

    Do
        DoEvents
        If GoGo = True Then
            If Cells(i, 1) <> 0 Then
                Range("B5").Value = Cells(i, 2).Value
                Range("E5").Value = Cells(i, 3).Value
                Range("E11").Value = Range("C33").Value
                Application.Run ("Realcount")
                Application.Run ("Realcount2")
            End If
            i = i + 1
            GoGo = False
        End If
    Loop
End Sub

フォローアップ (コメントから)

ループを使用する代わりに、私が考えることができる最良の方法は、ボタンでモードレスユーザーフォームを使用することです(同時に操作したい場合Workbook/Worksheet) Next。ボタンは行のNext値を増やしてから、コードを実行します。こうすれば、コーヒーを飲みに出かけなければならない場合でも、Excel を忙しくする必要はありません ;)

このように見えるはずのユーザーフォーム(未テスト)を作成します

ここに画像の説明を入力

このコードをユーザーフォームに貼り付けます

'~~> Next Button
Private Sub CommandButton1_Click()
    Range("B5").Value = Cells(rw, 2).Value
    Range("E5").Value = Cells(rw, 3).Value
    Range("E11").Value = Range("C33").Value

    Application.Run ("Realcount")
    Application.Run ("Realcount2")

    rw = rw + 1
End Sub

'~~> Canecel Button
Private Sub CommandButton2_Click()
    Unload Me
End Sub

モジュールを作成し、このコードをそこに貼り付けます

Public rw As Long

Sub Launch()
    rw = 23
    UserForm1.Show vbModeless
End Sub

コードを実行するには、Sub Launch()直接実行するか、ワークシートにコマンド ボタン (フォーム コントロール - 使用していると思います) を作成して割り当てますSub Launch()

于 2013-04-16T19:32:18.667 に答える