宏 - IF值满足条件复制粘贴到另一个工作表

时间:2017-01-08 16:36:39

标签: excel vba excel-vba macros

我可以获得这个宏的帮助吗?我想查看'Sheet1'中表格的P列中的所有值。这是表格的图片:

First Table

如果值<&lt; 1我想复制将图片中标题的列中的值粘贴到“说明”表格中的表格中,格式如下:

Second Table

对此有任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

在您希望数据进入的工作表(表2)和标题下(表2中)将单元格设置为等于表1中所需的单元格。通过输入“=”然后单击执行此操作到表1的工作表,然后单击第一行的单元格。对Name,Identifier,Sector,Rate重复此操作...完成第一行后,突出显示第二行的单元格,然后单击并按住黑色输出行的右下角并向下拖动到相同的行数来自表1.

如果您想要粘贴在那里的值,请突出显示范围并复制并右键单击粘贴&gt;粘贴特殊(单击特殊粘贴)并选择值。

然后,您可以根据需要小于1的值的列对说明表进行排序,并删除大于1的行。

答案 1 :(得分:0)

我不知道你要复制哪些列,因为它们没有在你拥有的第一个表格图像中命名,所以我只是做了一个宏,你可以自己调整范围,因为你需要复制和你需要的工作表。

以下代码遍历您的数据,检查每行Column P中的数据是否小于1,并将数据放入变量,您可以将数据复制并粘贴到需要该数据的位置,< / p>

代码,

Sub d()
   Dim i As Long
   Dim lastrow As Long
   Dim rng As Range

   lastrow = Cells(Rows.Count, 1).End(xlUp).Row
   For i = 2 To lastrow
      If Range("P" & i).Value < 1 Then
         If Not rng Is Nothing Then
             Set rng = Union(rng, Range("B" & i), Range("C" & i), Range("D" & i), Range("Q" & i), Range("H" & i), Range("I" & i), Range("P" & i))
         Else
             Set rng = Union(Range("B" & i), Range("C" & i), Range("D" & i), Range("Q" & i), Range("H" & i), Range("I" & i), Range("P" & i))
         End If
      End If
   Next
   rng.Copy Sheets("explanation").Range("A2")
End Sub

看看这对你没有帮助吗?