2016-02-11 72 views
0

我需要在這第二雙眼睛。我認爲它的結束,但似乎無法弄清楚。我得到循環沒有做。循環沒有做完如果?

Do While ActiveCell <> "" 
    Selection.Copy 
    Set myActiveCell = ActiveCell 
    ActiveCell.Offset(0, -4).Select 

    With Worksheets(1).Range("a:a") 
     Dim value As String 
     value = ActiveCell.value 

     Dim c As Range 
     Set c = .Find(value, LookIn:=xlValues) 
     If Not c Is Nothing Then 
      c.Activate 
      ActiveCell.Offset(0, 4).Select 
      ActiveSheet.Paste 
      myActiveCell.Activate 
      Rows(ActiveCell.Row).Delete 
     End If 
    End With 
Loop 
+1

那是什麼語言? – Martin

+0

Excel VBA爲什麼? – James

+0

**做**雖然ActiveCell < - 這是你要找的一個嗎? – Tensibai

回答

1

我想通了。我禁用了所有的功能和循環,並重新激活它們1以找出錯誤。

感謝大家的意見。

+2

那麼是什麼導致了這個問題呢?在未來的問題中有助於其他人瞭解究竟是什麼導致了這個問題,所以這可以在以後用作參考。 –

+0

這是由一些沒有在問題中表示的完全不相關的代碼引起的,使用最基本的調試技術。 –

1

它必須是內容相關的@詹姆斯,我測試了你的代碼(看到我對你的問題的一些補充信息的問題,似乎工作。你表明你的完整代碼太大,不能發佈,所以我建議在代碼中的Do While行上放一箇中斷(F9)並查看ActiveCell的內容。

很可能您的測試需要在ActiveCell.Value2上進行不同類型的測試,例如在您的內容打破條件

它應該是相當容易調試,用F8步驟通過代碼,直到你認爲它出問題了,在這一點檢查所有的值看看發生了什麼