Excel 将第2页中包含第1页A列中任何值的整行复制到第3页
我希望能够从第2页复制任何一行,其中包含第1页a列中的任何值。复制并粘贴到第3页 我在网上找到了这段代码,但单元格值是特定的。我有大约80个值,所以单独列出它们需要很长时间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
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次,但只要稍加努力,你就可以将这些代码片段与之前找到的代码片段结合起来,使它们对你的特定需求更有用。