如何将单元格值复制并粘贴到同一工作簿中的另一个工作表

时间:2014-05-12 17:25:12

标签: vba excel-vba copy-paste excel

目前我正在制作一个需要做以下事情的宏。

1)它查看顶行,返回一个命名列

2)然后选择此列

3)然后循环遍历列,寻找大于零的第一个值。

4)然后我获取这个“第一个”实例的行值

5)从我的公共变量中,我得到一个列值(#'s)

6)我将行值和列值组合起来找到我的“数据点”

最后,我想将此值复制到名为“Critical Signals”的同一工作簿中的另一个工作表

这是我遇到麻烦的地方。每次我运行我的代码时都会收到错误“1004”。我似乎无法将我选择的单元格复制并粘贴到我的第二个工作表。有任何想法吗?

Sub Locate_Start_Of_Test()
'Use the Find Method to identify signal columns
Dim SigCol As Integer
Dim SigRow As Integer
Dim Cell As Range
Dim CritRow As Integer
'Variables to hold critical point of Start of Test

SigRow = 1 'Row Location of Signal Names

SigCol = Sheet1.Cells(SigRow, 1).EntireRow.Find(What:="EngAout_N_Actl (rpm)",     LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext).Column
'SigCol now holds the value of rpm column


Columns(SigCol).Select

CritRow = 1

For Each Cell In Selection
    If Cell.Value > 0 And Cell.Value <> "EngAout_N_Actl (rpm)" Then
        Exit For
    End If
    CritRow = CritRow + 1
Next Cell

Sheets(1).Range(Cells(CritRow, Trip_point)).Copy
Sheets("Critical Signals").Activate
Range("E4").Select
ActiveSheet.Paste

End Sub

1 个答案:

答案 0 :(得分:2)

你很近,只需从此行中删除Range

Sheets(1).Range(Cells(CritRow, Trip_point)).Copy

所以它看起来像这样:

Sheets(1).Cells(CritRow, Trip_point).Copy

另外,我建议不要使用ActiveSelect语句。例如,要复制和粘贴的4行代码可能会这样:

Sheets("Critical Signals").Range("E4") = Sheets(1).Cells(CritRow, Trip_point)