excel - Excel VBA在搜索时显示多个结果
问题描述
我有一个完整的数据表,如果我可以搜索我需要的数据会更容易。
就像一个 SQL 查询:
SELECT * FROM table_name WHERE Name='test'
所以我发现这个脚本部分适用于我的情况。
Sub Zoek()
Dim erow As Long
Dim ws As Worksheet
Dim Lastrow As Long
Dim count As Integer
Dim resultrow As Integer
resultrow = 11
Lastrow = Sheets("Klanten").Cells(Rows.count, 1).End(xlUp).Row
count = 0
For x = 5 To Lastrow
If Sheets("Klanten").Cells(x, 2) = Sheet1.Range("C6") Then
Sheet1.Range("C11") = Sheets("Klanten").Cells(x, 1)
Sheet1.Range("B11") = Sheets("Klanten").Cells(x, 2)
Sheet1.Range("D11") = Sheets("Klanten").Cells(x, 11)
count = count + 1
End If
Next x
End Sub
这段代码的问题在于,当同一个搜索查询多次出现时,它将被覆盖,并且只有该搜索的最后一次命中才会显示在单元格(B11、C11、D11)中。
我怎样才能使每场比赛都显示在 (B11 - Bxx, C11- Cxx, D11- Dxx) 中?
我知道这个问题之前可能已经被问过,但解决方案似乎很先进。
我是 VBA 的菜鸟,所以我不知道如何实施这些解决方案。
如果有人可以为我提供此代码的解决方案,我将不胜感激。
解决方案
因为你已经有了那个“count”变量:
For x = 5 To Lastrow
If Sheets("Klanten").Cells(x, 2) = Sheet1.Range("C6") Then
Sheet1.Range("C11").Offset(count) = Sheets("Klanten").Cells(x, 1)
Sheet1.Range("B11").Offset(count) = Sheets("Klanten").Cells(x, 2)
Sheet1.Range("D11").Offset(count)= Sheets("Klanten").Cells(x, 11)
count = count + 1
End If
Next x
推荐阅读
- c++ - 从 'char*' 到 'char' 的无效转换 [-fpermissive] 如何打印?但在变量内部
- openapi - 如何向使用 crnk-gen-openapi 生成的 openapi 规范添加其他文档和示例?
- linux - 在 Linux 中编写通过 SPI 连接的 PHY 驱动程序
- javascript - console.log 在 io.on('connection',....) 中不起作用
- excel - 如何使用 IF 条件在 FOR 循环中使用 STEP?
- google-data-studio - 适用于 Bigquery 的数据洞察社区连接器
- c# - 读取流然后反序列化
- javascript - React JS 标签启用显示
- flask - 如何计算使用 IIS 部署的 Flask 的唯一访问者
- c++ - 我因为两次定义了一个函数而收到此错误