2016-02-21 3 views
2

Я написал следующий код, чтобы скопировать и диапазон пасты w21: W1759 в диапазоне AD21:код, чтобы скопировать и вставить один диапазон в другой, несколько раз в VBA Excel

Sub CommandButton1_Click() 

    Dim i As Integer, j As Integer 
    For j = 1 To Range("d7") 
    Range("d8") = j 

    'Calculate 
     Range("w21:W1759").Select 
     Selection.Copy 
      Range("AD21").Select 
     Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ 
      False, Transpose:=False 
     Next j 
End Sub 

Мои данные в диапазоне w21: W1759 (из-за случайной выборки) на каждом клике, и я хочу, чтобы новые данные в этом диапазоне были скопированы и вставлены в диапазон «ae» (соседний столбец). Затем при следующем нажатии на «af» и так далее и так далее. Какой код мне нужно добавить к вышесказанному, чтобы достичь этого?

Большое спасибо за помощь

ответ

1

Это будет зависеть от того, что несколько находится справа от столбца переменного тока. Если столбец Ad является первым пустым столбцом, его легко скопировать. Последующие операции копирования можно использовать тот же метод следующего пустого столбца, чтобы заполнить столбцы AE, AF и т.д.

Sub CommandButton1_Click() 
    Dim i As Long, j As Long 

    With Worksheets("Sheet1") 
     For j = 1 To .Range("d7") 
      .Range("d8") = j 
      .Calculate 
      With .Range("w21:w1759") 
       .Parent.Cells(21, Columns.Count).End(xlToLeft).Offset(0, 1).Resize(.Rows.Count, .Columns.Count) = .Value 
      End With 
     Next j 
    End With 

End Sub 

Я изменил свой экземпляр, метод PasteSpecial Значения быть прямой передачей значения. Это быстрее и не включает буфер обмена.

+0

Hi Jeeped. Большое спасибо за переработанный код. Однако, когда я печатаю (например, 2 или 3) в диапазоне d7, значения из w21: w1759 все еще перемещаются в столбец AD (перезаписываются каждый раз), вместо перехода на AE, AF и т. Д. Любые идеи? – Matt

+0

Я не знаю, как это могло произойти. Я пропустил вызов объекта '.Parent', который я исправил выше, но это не повлияет на то, что вы описываете. – Jeeped

+0

Hi Jeeped Я использовал ваш новый код, но без радости. Когда я нажимаю на свою кнопку управления для запуска выборочных выборок 3,4,5 или 50 (d7) для получения новых результатов в W21: w1759, результаты этого диапазона всегда копируются и вставляются в один и тот же столбец AD вместо перемещения одного столбца каждый раз? Любые мысли ??? – Matt

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