VBA: копировать вставить без буфера обмена - PullRequest
3 голосов
/ 10 октября 2010

Есть ли способ сделать это как одну строку копировать / вставить без использования буфера обмена.скопировать один диапазон - строку на другой диапазон вставки листа - всю строку.Мне нужны значения, а не формула.

 Sheets("Data").Select 
 ActiveCell.EntireRow.Copy

 Sheets("TSP").Select
 ActiveCell.PasteSpecial Paste:=xlPasteValues

Ответы [ 2 ]

10 голосов
/ 11 октября 2010

Этот код копирует значения (не формулы).

Sub a()
  Worksheets("Sheet2").Range("TS").Value=Worksheets("Sheet1").Range("1:1").Value
End Sub  

Где "TS" - это имя диапазона (одна строка).

Это то, что вы пытаетесь достичь?

Редактировать

Чтобы скопировать активную строку в Sheet2.Row2 (например), вы можете попробовать:

Sub a()
 Dim myrow As Integer
 myrow = ActiveWindow.RangeSelection.Row
 Worksheets("Sheet2").Range("2:2").Value = Worksheets("Sheet1").Rows(myrow).Value
End Sub

НТН!

1 голос
/ 10 октября 2010

Почему-то нет.PasteSpecial - это все о буфере обмена.

Если вам нужны только значения, сделайте цикл For, копируя их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...