excel如何用VBA实现搜索某些符合条件的行,并复制到同一个sheet中的指定位置?

图一

图二

图三
点击图二中的查询按钮,弹出弹框,在弹框中输入硬件版本号,点击确定,excel会从图一中检索,并把符合条件在图二指定位置显示
说明:图一中不止这几行,假定100行
图二查询结果下面显示序列号(1,2,3,4,5...),型号下面显示型号
图三,如果输入为空,给出提示信息,如果点击取消,或者关闭按钮,关闭此对话框

Sub q()
Dim InStrs As String
InStrs = InputBox("请输入你需要查询的硬件版本号:", "硬件版本号&型号定位宏")

Dim Row, J, I As Integer, outStr() As String
Row = Sheet1.Cells(Sheet1.Rows.Count, 13).End(xlUp).Row
ReDim outStr(0)
With Sheet1
  For I = 2 To Row
    If .Cells(I, 14) = InStrs Then
      ReDim Preserve outStr(UBound(outStr) + 1)
      outStr(UBound(outStr)) = .Cells(I, 13)
    End If
  Next I
End With

With Sheet2
  For J = 1 To UBound(outStr)
    .Cells(J + 1, 4) = J
    .Cells(J + 1, 5) = outStr(J)
  Next J
End With

End Sub

追问

这个刚才验证了一下,只有一个对话框出来,输入数字,然后点确定,就没有任何反应,不过还是十分感谢

追答

是否是sheet1和sheet2以及列的位置,要根据你的实际情况修改的。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答