Excel VBA 搜索按钮

2023-12-13

我正在尝试使用文本框和命令按钮在整个工作簿中搜索特定单词或值。例如,“3132”或“工作指令”。到目前为止,我可以搜索我所在的工作表,但无法搜索工作簿的其余部分。另外,一些工作表是隐藏的。对此的任何见解都会有益并帮助我很多!我在下面列出了我当前的计划:

Private Sub CommandButton6_Click()
    Dim strFindWhat As String
    strFindWhat = TextBox1.Text

    On Error GoTo ErrorMessage

    Cells.Find(What:=strFindWhat, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Select
    Exit Sub

    ErrorMessage:
        MsgBox ("The data you are searching for does not exist")
End Sub

祝你有个好的一天!


尝试这样的事情,它使用FindNext方法,同时循环工作簿中的工作表。

Sub FindLoopSheets()
Dim srchString$
Dim w As Integer
Dim wsName As String
Dim rng As Range
Dim fndRange As Range
Dim nxtRange As Range

srchString = Application.InputBox("Enter the value to search for", "Search Query")

If srchString = vbNullString Then
    MsgBox "No value entered.", vbInformation
    Exit Sub
End If

For w = 1 To Sheets.Count
    With Sheets(w)
        wsName = .Name
        Debug.Print "Beginning search on " & wsName

        Set rng = .Cells.Find(What:=srchString, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
            , SearchFormat:=False)

        If Not rng Is Nothing Then
            Set fndRange = rng
            Do
                Set nxtRange = .Cells.FindNext(After:=fndRange)

                    Debug.Print Sheets(w).Name & "!" & nxtRange.Address
                    Set fndRange = nxtRange

            Loop Until fndRange.Address = rng.Address

        Else:
            Debug.Print srchString & " was not found on " & wsName

        End If
    End With
Next w

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel VBA 搜索按钮 的相关文章

  • 使用VBA删除Excel中的非重复数据

    我尝试删除非重复数据并保留重复数据 我已经完成了一些编码 但什么也没发生 哦 这是错误 哈哈 这是我的代码 Sub mukjizat2 Dim desc As String Dim sapnbr As Variant Dim shortDe
  • 如何自动将图表从 Excel(或 Calc)导出为 PNG

    问题 我正在开发一个 Web 应用程序 它将数据从数据库导出到 Excel 包括图表 这首先是导出的主要原因 现在我希望图表在网页上也可见 而不需要导出数据并打开下载的 Excel 文件 这当然可以使用 JS 库来完成 但是由于图表相当复杂
  • 将 Excel 文件导入 Access 时更改数据类型

    将 Excel 文件导入 Access 时 有什么方法可以更改默认数据类型吗 顺便说一下 我使用的是 Access 2003 我知道有时我可以自由地将任何数据类型分配给正在导入的每个列 但这只能在我导入非 Excel 文件时进行 EDIT
  • 通过 VBA MS_Access 将 MS Access 表导出为 dBase 5

    如何通过 VBA 将单个表导出为 dBase 5 文件 目前我正在使用这个VBA代码 DoCmd TransferDatabase acExport dBase IV DB Total acTable DB Total C Data Fal
  • 使用 Excel Interop 关闭 Excel 应用程序而不保存消息

    我正在使用 Excel Interop COM 对象 我正在编写一种方法 其中打开和关闭 Excel 应用程序 然后打开 Excel 工作簿和工作表 完成这些工作后 我将关闭应用程序和工作簿 我的问题是 此方法可以重复调用多次 当工作表和应
  • 使用 SpreadsheetLight 进行行计数

    我正在寻找一个类似于 DataTable Rows Count 的函数 它可以与 SLDocument 一起使用来找出有多少行中有数据 SpreadsheetLight 中有可用的东西吗 还有其他方法可以实现这一目标吗 Brendan SL
  • Excel宏-将逗号分隔的条目拆分为新行[重复]

    这个问题在这里已经有答案了 我目前在一张纸上有这些数据 Col A Col B Col C 1 A angry birds gaming 2 B nirvana rock band 我想要做的是将第三列中的逗号分隔条目拆分并插入新行 如下所
  • 解析未完全加载 VBA 的网站

    尝试进行简单的网络解析 我的问题是页面在向下滚动之前无法完全加载 谷歌搜索已经提出可能使用硒 但由于我不知道如何使用它 我想我会在这里问 我使用的代码 Sub gfquote Dim oHttp As MSXML2 XMLHTTP Dim
  • 在 Excel 工作簿中找不到链接

    我编写了一个宏来打开多个受密码保护的工作簿 这些工作簿彼此之间都有链接 因此为了方便起见 我设置了UpdateLinks 0这样在其他书籍打开之前 我就不会收到所有链接更新的密码提示 所有工作簿打开后 我尝试使用以下命令更新链接 Workb
  • Excel 的查找和查找下一个 VBA

    我一直在试图弄清楚如何处理这个问题 但基本上我想要一种方法来打印 B 列中的值 给定与 A 列匹配的特定值 例如 Column A Column B 1 ABC 2 DEF 3 GHI 1 JKL 我想在使用 find findnext 或
  • Excel动态数组运行重复项计数

    我一直在重新设计一些旧的电子表格工具 以便使用 Excel 的较新工具来过滤和格式化动态数据输出动态数组公式 https support microsoft com en us office dynamic array formulas a
  • 用于更新 Word 文档中所有字段的宏

    多年来 我构建了一个 vba 宏 该宏应该更新 Word 文档中的所有字段 我在发布文档进行审查之前调用此宏 以确保所有页眉和页脚等均正确 目前 它看起来像这样 Sub UpdateAllFields UpdateAllFields Mac
  • 如何将多个 Excel 工作表转换为 csv python

    我想转换所有的excel文档 xls 将工作表转换为 csv 如果 excel 文档只有一张工作表 那么我将进行如下转换 wb open workbook path1 sh wb sheet by name Sheet1 csv file
  • Excel VBA:排序,然后复制和粘贴

    所有 我需要编写一个执行以下操作的宏 将数据输入到 E 列的最后一个空白单元格后 按 E 列对整个工作表进行降序排序 工作表排序后 2a 将单元格复制到紧邻首次输入数据的单元格左侧的相邻单元格 2b 将复制的数据粘贴到最初输入数据的同一行的
  • 在 Django(Python) 中向用户提供 Excel(xlsx) 文件下载

    我正在尝试使用 Django 创建和提供 Excel 文件 我有一个 jar 文件 它获取参数并根据参数生成 excel 文件 并且它可以正常工作 但是 当我尝试获取生成的文件并将其提供给用户下载时 文件损坏了 它的大小为 0kb 这是我用
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • 使用 OpenXML 读取列中的 Excel 工作表数据

    有没有一种方法可以使用 OpenXML SDK 和 C 按列而不是按行读取 Excel 工作表 我已经尝试使用 EPPlus 包 但遇到了一些问题 因为我的应用程序还使用 EPPlus 不支持的 xslm 文件 因此 我需要 OpenXML
  • Excel 中使用通配符 {*} 进行 Vlookup

    我有下表 现在 我想检查主题是否具有数据中存在的任何文本 col F I used VLOOKUP A2 F F 1 0 但它正在给予 N A Try 公式为B2 SUM COUNTIF A2 F 2 F 3 gt 0 Edit SUM C
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未

随机推荐

  • window.fullScreen=true 不起作用

    我想以全屏模式打开我的 html 页面 我尝试在 body 的 onload 事件处理程序中执行此 javascript window fullScreen true 但不幸的是这似乎不起作用 有没有其他方法可以达到同样的效果 我不认为你可
  • Identity列增量值差距巨大

    我创建了一个带有标识列的表 当我在该表中插入值时 标识列显示值之间存在巨大的增量差距 身份值从 6 跳到 10001 这是按部门 id 排序的输出 输出截图在这里 这是我创建的表 Create Table STG2 Department D
  • 更改 Eclipse 中的默认 XML 编辑器

    Eclipse 挂起时使用 XML 默认编辑器太慢并且会出现很多问题 我读到 如果我们更改编辑器 它就可以正常工作 那么如何删除现有编辑器 您可以自定义它们 窗口 gt 首选项 gt 常规 gt 编辑器 gt 文件关联 在那里 您必须选择一
  • jqGrid 中使用工具栏搜索默认在列中间搜索

    阅读 jqGrid wiki 后 并以以下示例为例 jqGrid 中不区分大小写的搜索 包括隐藏字段 我找不到我想做的事情 是否有任何搜索选项可以在列中的任何位置启用搜索 自动通配符 如果该列包含 Apple Iphone 我将能够通过搜索
  • 如何将消息重定向到死信队列Azure服务总线

    我正在使用隔离的天蓝色函数从队列接收消息 我需要验证收到的消息 如果无效 则将其发送到死信队列 我发现唯一的方法是抛出异常 重试 10 次后 消息将被移至死信队列 当然这不是一个好的解决方案 也许有人面临同样的任务 谢谢 Function
  • 如何让这个嵌套通用参数系统正常工作?

    所以我正在努力让一个相当复杂的系统运行起来 这是我正在尝试的基础知识 Rules abstract class Rule stuff class ExampleRule extends Rule stuff 处理程序 abstract cl
  • 在 Swift 4 中,如果按下“Backspace”按钮且文本字段为空,如何移动到上一个 UITextField?

    我正在尝试解决这个问题 当我使用下面的代码时 我可以从一个文本字段移动到下一个文本字段 然后单击 退格 按钮 但仅当文本字段中有文本时才有效 我的问题 当文本字段为空时 如何单击 退格 按钮并移至上一个文本字段 第二个问题 如何去掉屏幕上闪
  • 通过 Android 访问 Google 帐户 ID/用户名

    如何在代码中访问用户的 Google 帐户 ID 用户名 我正在构建一个应用程序 它将调用 Web 服务来存储数据 并且我想识别提交数据的人的身份 我遇到了同样的问题 这两个链接为我解决了 第一个是这个 如何在 Android 手机上找回已
  • 字符串数组列表成一个逗号分隔的字符串

    尝试将字符串的 Arraylist 转换为一个大逗号分隔的字符串 但是当我使用 String joined TextUtils join participants 调试器显示参与者的大小为 4 但是连接值为 因此为空 private Arr
  • Symfony 1.4 邮件程序中的电子邮件正文?

    我正在使用 Symfony 1 4 邮件程序 在其中构建电子邮件所需的各个部分 然后使用以下命令将其发送出去 this gt getMailer gt composeAndSend sender recipient subject body
  • 在反应本机地图上需要未知模块“未定义”

    我想实现react native mapshere 但是当我导入上面的 MapView 时App js与代码import MapView from react native maps 我收到此错误 需要未知模块 未定义 如果您确定该模块存在
  • 子进程调用无效参数或选项未找到

    我试图在 Linux 上使用 subprocess call 调用 ffmpeg 命令 但我无法获得正确的参数 之前 我使用了 os system 并且它有效 但不推荐这种方法 使用带破折号的参数 例如 i 会出现此错误 Unrecogni
  • 如何使用 JHipster 注册表修复无效的 JWT [Docker]?

    我想用 JHipster 构建一个微服务软件 我正在 Docker 中运行 jhipster registry v3 2 4 我还有一个微服务应用程序 使用生成器 5 0 1 创建 但我没有生成网关应用程序 我在 docker compos
  • 在SQL / MySQL中,连接语句中的“ON”和“WHERE”有什么区别?

    以下语句给出相同的结果 一个是使用on 另一个使用where mysql gt select from gifts INNER JOIN sentGifts ON gifts giftID sentGifts giftID mysql gt
  • 具有抽象类的 JPA 实体继承 - ConstrainViolationException

    我正在尝试使用 JPA 注释和抽象类设置实体继承 我们的目标是让 DAO 通过其扩展与基础对象一起工作 以便我们可以通过使用不同的实体扩展 切入点和覆盖来对同一应用程序进行修改 而无需更改提供者和管理器 例子 基础应用程序堆栈有一个 DAO
  • 使用递归在Scheme中进行排列

    我发现了以下一段代码 它在Scheme中进行了排列 我的意思是 如果我输入类似的参数 1 2 3 它会给我 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 代码如下 define remove x lst cond
  • 使用 jQuery 和 JSONP 跨域检索 html

    我有一个表单 可以输出一行简单的 html a href link A LINK a 我可以直接使用附加到 url 的数据来访问该流程 例如http site com form asp sample 100 因为这是跨域 到子域 所以我尝试
  • C 中的精确宽度整数类型 (stdint.h)

    我希望 char short 和 int 类型的宽度为 1 2 和 4 个字节 我已经包括了stdint h标题进入我的来源 这是否保证 int8 t int16 t 和 int32 t 整数类型具有指定的宽度 实现这一目标的最佳方法是什么
  • Plon 4.3 默认编辑器未显示

    我有一个 Plone 4 3 站点 它是从 Plone 2 5 站点迁移而来的 它一直工作得很好 但由于某种原因 编辑任何页面或内容项时显示的默认编辑器是直接的 HTML 视图 我已经在 Firefox Chrome 和 Safari 中对
  • Excel VBA 搜索按钮

    我正在尝试使用文本框和命令按钮在整个工作簿中搜索特定单词或值 例如 3132 或 工作指令 到目前为止 我可以搜索我所在的工作表 但无法搜索工作簿的其余部分 另外 一些工作表是隐藏的 对此的任何见解都会有益并帮助我很多 我在下面列出了我当前