2013-11-26 68 views
1

我希望這個腳本檢查列A上的單元格,如果它們中存在URL鏈接,並且它是真的,那麼執行一些剪切粘貼操作。另一個Excel VBA 404錯誤

String#5返回錯誤404,請幫忙解決!

Sub xxxxxx() 
    Worksheets("1 (2)").Activate 
    For i = 1 To 2200 
     Range("A" & i).Select 
     If (cell.Range("A1").Hyperlinks.Count >= 1) Then 
      ActiveCell.Offset(1, 0).Range("A1").Select 
      Selection.Cut 
      ActiveCell.Offset(-1, 2).Range("A1").Select 
      ActiveSheet.Paste 
     End If 
    Next i 
End Sub 
+0

每次:集X =表(1)'所以你應該寫'表()'**而不是'工作表()'**。希望這可以快速解決您的問題。在使用前總是定義表單和範圍是最好的做法,並放棄隱含**的方法。Select(ing)** – Takedasama

+2

'Activate/Select' .. [OUCH](http://stackoverflow.com/questions/ 10714251/excel-macro-avoid-using-select) –

回答

0

每@Siddharth潰敗post關於不使用Activate/Select,我下面重寫代碼。不需要檢查在循環中的超鏈接,因爲它總是檢查你有沒有這樣定義`昏暗X作爲工作表的表單元格A1

Sub xxxxxx() 
    Dim ws As Worksheet 
    Set ws = Worksheets("1 (2)") 

    Dim LastRow As Long 
    LastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row 

    If (ws.Range("A1").Hyperlinks.Count > 0) Then 
     For i = 2 To LastRow 
      Range("A" & i).Offset(-1, 2).Value = Range("A" & i).Value 
      Range("A" & i).Clear 
     Next i 
    End If 
End Sub 
+0

更新爲不使用「激活」或「選擇」 –