VBA Excel宏:根据关键字查询并提取数据到新工作表
VBA Excel宏:根据关键字查询并提取数据到新工作表
这篇文章提供了一个VBA Excel宏代码示例,可以根据用户输入的关键字,从指定工作表中查询并提取匹配的数据行到新的工作表中。
代码示例vbaSub 查询并输出结果() Dim inputSheet As Worksheet Dim outputSheet As Worksheet Dim searchValue As String Dim lastRow As Long Dim i As Long, j As Long ' 设置输入和输出工作表 Set inputSheet = ThisWorkbook.Sheets('发货记录表Shipping Record Form') ' 修改为输入数据所在的工作表名 Set outputSheet = ThisWorkbook.Sheets('查询结果') ' 修改为输出结果的工作表名 ' 获取查询值 searchValue = inputSheet.Range('K3').Value ' 修改为查询值所在的单元格 ' 清空输出工作表(保留标题行) outputSheet.Rows.ClearContents ' 查找并输出结果 j = 2 ' 输出结果的起始行(从第二行开始,跳过标题行) lastRow = inputSheet.Cells(inputSheet.Rows.Count, 'A').End(xlUp).Row ' 修改为查询数据所在的列 For i = 2 To lastRow If inputSheet.Range('A' & i).Value = searchValue Then ' 将匹配的数据复制到输出工作表 inputSheet.Rows(i).Copy outputSheet.Rows(j) j = j + 1 End If Next i ' 格式化输出工作表 outputSheet.Columns.AutoFit outputSheet.Activate ' 将焦点定位到输出结果的工作表 MsgBox '查询结果已输出到工作表 ' & outputSheet.Name & '。'End Sub
代码说明
- 声明变量: 首先,代码声明了所需的变量,包括输入工作表、输出工作表、查询值、最后一行以及循环计数器。2. 设置工作表: 根据实际情况修改输入和输出工作表的名称。3. 获取查询值: 从指定的单元格获取用户输入的关键字。4. 清空输出工作表: 清空输出工作表的内容,为写入查询结果做准备。5. 查找并输出结果: 使用循环遍历输入工作表,查找与关键字匹配的行,并将匹配的行复制到输出工作表。6. 格式化输出: 自动调整输出工作表的列宽,并将焦点定位到输出结果的工作表。7. 提示信息: 显示一个消息框,告知用户查询结果已输出到指定的工作表。
使用方法
- 将代码复制到VBA编辑器中(快捷键:Alt + F11)。2. 根据实际需求修改代码中的工作表名称和查询值所在的单元格。3. 运行代码,查询结果将被输出到指定的工作表。
注意事项
- 请确保代码中的工作表名称与实际工作表匹配。* 运行宏之前,请先在输出结果的位置创建一个名为“查询结果”的工作表,或者根据需要修改代码中的输出工作表。
希望这个代码示例对您有所帮助!如果您有任何问题或建议,请随时留言。
原文地址: https://www.cveoy.top/t/topic/vHv 著作权归作者所有。请勿转载和采集!