2014-09-19 16 views
0

iam пытается создать цикл, который копирует некоторые определенные ячейки. Я довольно новичок в VBA, но я могу получить это только в первой строке. Пуропозиция скрипта заключается в том, чтобы скопировать определенные ячейки в Sheet2736 на другой лист excel, называемый pre. Это должно быть сделано во всех случаях, когда выполняется конкретное условие. Код я до сих пор выглядит следующим образом: Sub copypre1()создать цикл для копирования ячеек

Dim i As Integer 

For i = 2 To 50 
If Range("A" & i).Value = "Pre" Then 

    Range("A,B,C,D,F,G,H,I,K,L,M,S" & i).Select 
    Range("S2").Activate 
    Selection.Copy 
    Sheets("PRE Hedge").Select 
    Range("C3").Select 
    ActiveSheet.Paste 
    Sheets("PRE Hedge").Select 

    End If 
Next i 

End Sub

ответ

0

хорошо вы должны reselct первый лист, изменив код:

Sub copypre1() 

    Dim i As Integer 

    For i = 2 To 50 
     If Range("A" & i).Value = "Pre" Then 

      Range("A,B,C,D,F,G,H,I,K,L,M,S" & i).Select 
      Range("S" & i).Activate 
      Selection.Copy 
      Sheets("PRE Hedge").Select 
      Range("C" & (i+1)).Select 
      ActiveSheet.Paste 
      Sheets("Sheet2736").Select 

     End If 
    Next i 
End Sub 
+0

Привет Спасибо за помощь. Я вижу, что я пропустил часть возвращения к первому листу после вставки значений. Хотя он говорит «Диапазон методов объекта не удался», когда он попадает в линейный диапазон («A, B, C, D, F, G, H, I, K, L, M, S» и i). Выберите –