2014-11-12 2 views
-1

Я работаю над простым кодом, но я не смог его взломать. Я хочу, чтобы макрос выполнялся и выбирал значение (2), а также копировал и вставлял ячейки A в C в лист 2. В приведенном ниже коде копируются ячейки A-B и пасты. Я терпеть неудачу в цикле. Я хочу, чтобы он переходил из первой строки в последнюю строку. Пожалуйста.Пронумеруйте столбцы и скопируйте и вставьте ячейки A в B

Sub Tier_2() 
    With Sheets("Sheet1") 
     .Range(.Cells(1, 1), .Cells(3, 3)).Copy Sheets("Sheet2").Cells(1, 1) 
    End With 
End Sub 

ответ

0

Это не для вашей конкретной ситуации, но концепция - это то, что вы ищете. Вы должны быть в состоянии сделать некоторые исследования с тем, что я показываю вам, и понять это.

lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row 'gets last row of Source sheet 
For x = 1 to lastRow 
    Sheets("Sheet2").Cells(x, 1) = Sheets("Sheet1").Cells(x, 1) 'copy data from Sheet1 to Sheet2 row x 
Next x 'loop and add one to x 

Вы можете использовать переменные для номеров строк или столбцов в исходном или целевом листах. Вы можете вставить еще один цикл внутри первого. Я не уверен в том, что вы ищете, но у вашего вопроса, похоже, нет петли.

Если это не поможет вам двигаться в правильном направлении, попробуйте «Do While Loop» в поиске.

EDIT: Обновлена ​​формула, чтобы лучше отражать идею.

+0

спасибо, что попробовал это – kay

+0

Я изменил код и добавил для вас комментарии, чтобы немного пощупать – peege

+1

На стороне записки - В новых книгах с XML-стилем имеется более 1 миллиона строк, поэтому для согласованности между версиями лучше используйте «Range» («A» и Rows.Count) .End (xlUp) .Row', чем указать номер строки для этого типа функции. –

Смежные вопросы