Vba 宏-如果值符合条件,则复制粘贴到另一张图纸

Vba 宏-如果值符合条件,则复制粘贴到另一张图纸,vba,excel,macros,Vba,Excel,Macros,我可以得到一些关于这个宏的帮助吗。我想查看“Sheet1”中表格P列中的所有值。这是一张桌子的照片: 如果希望数据进入的工作表(表2)上的值为,则在标题下(表2中)将单元格设置为与表1中的单元格相等。通过按“=”键输入,然后单击表1中的工作表并单击第一行的单元格来执行此操作。对名称、标识符、扇区、速率重复此操作。。。完成第一行后,高亮显示第二行上的单元格,并单击并按住黑色线的右下角,然后从表1中向下拖动到相同数量的行 如果要将值粘贴到此处,请高亮显示范围并复制,然后右键单击“粘贴>特殊粘贴”(

我可以得到一些关于这个宏的帮助吗。我想查看“Sheet1”中表格P列中的所有值。这是一张桌子的照片:


如果希望数据进入的工作表(表2)上的值为,则在标题下(表2中)将单元格设置为与表1中的单元格相等。通过按“=”键输入,然后单击表1中的工作表并单击第一行的单元格来执行此操作。对名称、标识符、扇区、速率重复此操作。。。完成第一行后,高亮显示第二行上的单元格,并单击并按住黑色线的右下角,然后从表1中向下拖动到相同数量的行

如果要将值粘贴到此处,请高亮显示范围并复制,然后右键单击“粘贴>特殊粘贴”(单击“特殊粘贴”)并选择“值”


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

我不知道您要复制哪些列,因为它们在您的第一个表格图像中没有命名,所以我刚刚做了一个宏,你可以根据需要调整范围,复制到你需要的纸张上

下面的代码循环浏览数据,检查每行的
列p
中的数据是否小于1,并将数据放入一个变量中,您可以在该变量中复制并粘贴到需要该数据的任何位置

代码

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
subd()
我想我会坚持多久
最后一排一样长
变暗rng As范围
lastrow=单元格(Rows.Count,1).End(xlUp).Row
对于i=2到最后一行
如果范围(“P”&i).值小于1,则
如果不是,那么rng什么都不是
设置rng=Union(rng、量程(“B”和i)、量程(“C”和i)、量程(“D”和i)、量程(“Q”和i)、量程(“H”和i)、量程(“i”和i)、量程(“P”和i))
其他的
设置rng=Union(范围(“B”和i)、范围(“C”和i)、范围(“D”和i)、范围(“Q”和i)、范围(“H”和i)、范围(“i”和i)、范围(“P”和i))
如果结束
如果结束
下一个
图纸副本(“说明”).范围(“A2”)
端接头

看看这是否有帮助?

您是否先尝试自己做?此外,是否必须通过VBA完成?因为这也可以用Excel公式来完成。看看吧,我相信这会让你开始了解如何在另一张表上只获取这些值。