2010-10-10 310 views
3

有没有办法做到这一点作为一行复制/粘贴而不使用剪贴板。 复制一个范围 - 行到另一个表单粘贴范围 - 整行。我需要价值观,而不是公式。VBA:无剪贴板复制粘贴

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

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

你想只复制粘贴值吗?或者也复制粘贴格式化的单元格? – 2016-07-13 14:12:46

+0

按照这里的说明==> http://excelexperts.com/copy-values-vba – 2017-02-07 05:04:30

回答

9

此代码复制值(不是公式)。

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 

HTH!

+0

我试过但失败:Sub a() Dim TS As Range Set TS = Worksheets(“Sheet2”)。Range( “2:2”) 工作表(“Sheet2”)。范围(“TS”)。值=工作表(“Sheet1”)。范围(“1:1”)。值 End Sub – Merlin 2010-10-11 03:30:37

+0

1st将sheet1,range 1:1找到活动的细胞?并且,如何设置activecell,sheet2上的wholeRow的范围.... – Merlin 2010-10-11 03:37:00

+0

您的副本的来源是什么?当前行?一个特定的预定义行? – 2010-10-11 04:08:09

1

由于某种原因,没有。 PasteSpecial是关于剪贴板。

如果您只需要值,请使用For循环复制它们。