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

图一图二图三点击图二中的查询按钮,弹出弹框,在弹框中输入硬件版本号,点击确定,excel会从图一中检索,并把符合条件在图二指定位置显示说明:图一中不止这几行,假定100行... 图一

图二

图三
点击图二中的查询按钮,弹出弹框,在弹框中输入硬件版本号,点击确定,excel会从图一中检索,并把符合条件在图二指定位置显示
说明:图一中不止这几行,假定100行
图二查询结果下面显示序列号(1,2,3,4,5...),型号下面显示型号
图三,如果输入为空,给出提示信息,如果点击取消,或者关闭按钮,关闭此对话框
展开
 我来答
光临光临
2014-12-01 · TA获得超过171个赞
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:107万
展开全部
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以及列的位置,要根据你的实际情况修改的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式