Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将第2页中包含第1页A列中任何值的整行复制到第3页_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 将第2页中包含第1页A列中任何值的整行复制到第3页

Excel 将第2页中包含第1页A列中任何值的整行复制到第3页,excel,vba,excel-formula,Excel,Vba,Excel Formula,我希望能够从第2页复制任何一行,其中包含第1页a列中的任何值。复制并粘贴到第3页 我在网上找到了这段代码,但单元格值是特定的。我有大约80个值,所以单独列出它们需要很长时间 Sub Test() For Each Cell In Sheets(1).Range("J:J") If **Cell.Value = "131125"** Then matchRow = Cell.Row Rows(matchRow & ":" & matchRow

我希望能够从第2页复制任何一行,其中包含第1页a列中的任何值。复制并粘贴到第3页

我在网上找到了这段代码,但单元格值是特定的。我有大约80个值,所以单独列出它们需要很长时间

Sub Test()
For Each Cell In Sheets(1).Range("J:J")
    If **Cell.Value = "131125"** Then
        matchRow = Cell.Row
        Rows(matchRow & ":" & matchRow).Select
        Selection.Copy

        Sheets("Sheet2").Select
        ActiveSheet.Rows(matchRow).Select
        ActiveSheet.Paste
        Sheets("Sheet1").Select
    End If
Next
End Sub
这个怎么样:

Option Explicit
Sub CopyThings()
    Dim rng As Range
    Dim rng1 As Range
    Dim ans As Integer
    On Error GoTo ISAIDRANGE
    Set rng = Application.InputBox("what do you want to copy?", "Select Range", Type:=8)
    ans = MsgBox("the whole row?", vbYesNo)
    Set rng1 = Application.InputBox("where do you want to paste", "Select Range", Type:=8)
    Application.ScreenUpdating = False
    rng1.Parent.Activate
    Select Case ans
        Case Is = vbYes
            rng.Rows.EntireRow.Copy rng1.Rows.EntireRow
        Case Is = vbNo
            rng.Copy rng1
    End Select
ISAIDRANGE:
    Application.ScreenUpdating = True
    If Err.Number = 424 Then ans = MsgBox("that's not a valid range", vbExclamation, "I meant a VALID range")
End Sub

如果您为要评估的范围分配了一个变量:
Dim myRange as range,myCell as range
,则可以执行
set myRange=Sheets(“Sheet1”).range(“A1:A15”)
作为您正在检查的单元格,并对myRange中的每个myCell执行另一个
如果Cell.Value=myCell.Value,则执行另一个
,最后使用
下一个myCell
结束,或者将值存储在数组中,然后使用自动筛选跨行复制?@Glitch\u医生感谢您的回复。我对excel编码没有任何知识,所以你能评论一下我应该输入的确切代码吗。非常感谢。你能举一个粘贴第一个数组的例子吗?现在,我不想这样做80次,但只要稍加努力,你就可以将这些代码片段与之前找到的代码片段结合起来,使它们对你的特定需求更有用。