2013-04-16 75 views
1

非常多我有一個循環,我想貫穿,但我不希望它去下一個「我「直到按下按鈕。我的代碼如下。我相信我的麻煩是「如果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 
+0

重複發佈http://stackoverflow.com/questions/16044743/error-on-method-range-of-object-global-failed – Santosh

+0

爲什麼不把你的循環變成一個隊列?不要等待一些東西讓它繼續下去,讓它繼續下去。 – NickSlash

回答

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的忙,如果你不得不離開說了一杯咖啡;)

創建用戶窗體(未經測試),它應該是這樣

enter image description here

在用戶窗體這段代碼粘貼

'~~> 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()

+0

它一直在說「ambigious name」。代碼看起來不錯,但我無法測試它!我會嘗試谷歌這意味着什麼.. –

+0

它看起來像發生,如果你以前使用過這個名字,但我已經嘗試了不同的隨機單詞,沒有運氣。 –

+0

當你評論我正在修改帖子。刷新頁面... –

相關問題