使用 VBA 选择“查找”的第二个结果

2024-04-14

我正在努力做到这一点,以便我可以找到“lights”的第二个结果,以防该术语出现各种情况。下面的代码查找所考虑范围内的第一个匹配项。

    Dim ws As Worksheet
    Dim rng1 As Range
    Dim y As Range

     Columns("B:B").Select
Selection.Find(What:="1", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Select
    Set x = Range(Selection, Selection.End(xlDown)).Offset(0, 3)
    Range(x.Address(0, 0)).Select
    Selection.Find(What:="Lights", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate

      Selection.FindNext(After:=ActiveCell).Activate
      Selection.FindNext(After:=ActiveCell).Select

FindNext提供您想要的东西。使用它很简单:执行第一次搜索,就像你现在正在做的那样(尽管通过将结果分配给Range)并将结果范围作为起点FindNext。这里有适合您的特定要求的示例代码(secondAddress is the Address第二次出现“Light”的时间(如果有):

   Dim foundRange As Range
   Dim rangeToSearch As Range
   Set rangeToSearch = Selection
   Set foundRange = rangeToSearch.Find(What:="Lights", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False) 'First Occurrence

     Dim secondAddress As String
    If (Not foundRange Is Nothing) Then
        foundRange.Activate
        Dim count As Integer: count = 0
        Dim targetOccurrence As Integer: targetOccurrence = 2
        Dim found As Boolean

        Do While Not found
            Set foundRange = rangeToSearch.FindNext(foundRange)
            If Not foundRange Is Nothing Then
                count = count + 1
                If (count >= targetOccurrence - 1) Then
                    secondAddress = foundRange.Address
                    Exit Do
                End If
            Else
               Exit Do
            End If
        Loop
  End If
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 VBA 选择“查找”的第二个结果 的相关文章

  • VBA.查找并添加值

    我试图在 Excel 工作表的列中查找特定值 然后在右侧三列中添加一个值 1 My code Sub AddNote ActiveSheet Range F F Find What Cat Select Selection Offset 0
  • 是否可以让 Excel 突出显示不符合我所需格式的单元格(例如日期为 6.2.2021 与所需的 6/2/2021)?

    我使用电子表格来确定团队工作流程的优先顺序 某些单元格的突出显示取决于我们与循环时间的接近程度 有开始日期 暂定结束日期和出院日期 如果出现以下情况 空白出院日期单元格将变为红色 开始日期不为空 暂定不为空 今天的日期距离暂定日期不超过五天
  • 如何使用 PHP 将数据添加到现有 Excel 文件?

    我有一个包含表单和控件的 Excel 文件 由于不可能使用 PHP 从头开始 创建包含表单 控件和 VBA 代码的 Excel 文件 因此我想我可以将空 Excel 文件上传到服务器 更新它 然后让用户下载它 我知道有一些非常好的 PHP
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT
  • 使用 Excel 从 Lotus Notes 发送电子邮件并具有附件和 HTML 正文

    是的 我正在尝试通过 Lotus Notes 发送 Excel 电子表格的电子邮件 它有一个附件 并且正文需要采用 HTML 格式 从我读过的所有代码来看 我有一些代码应该允许我这样做 但事实并非如此 如果没有 HTML 正文 附件将发送
  • 从 VBA 函数返回数组的正确方法

    我的学校使用 Excel 2016 前 array 时代 因此我使用 VBA 来定义一些我需要的缺失函数 我尝试在 VBA 中实现的一个函数是SEQUENCE 替换 就像这样 Function MYSEQ n As Integer m As
  • 使用 VBA 循环遍历工作簿切片器名称

    我尝试过谷歌搜索并搜索这个 但无法完全理解 我想做的就是循环遍历活动工作表上的切片器并删除切片器 如果存在 目前我那里有 6 个切片机 以前我有 ActiveSheet Shapes Range Array Market Segment N
  • Spreadsheet_Excel_Writer数据输出损坏

    我使用 Spreadsheet Excel Writer 生成 xls 文件 它工作正常 直到我必须处理大量数据 在某些阶段 它只是写入一些无意义的字符并停止填充某些列 然而 有些列直到最后都是字段 通常是数字数据 我不太确定xls文档是如
  • 根据列标题将数据从一个工作簿转移到另一个工作簿

    我下面的代码将列值从一个特定工作簿 Activeworkbook 列 O AH 和 I 转置到另一个工作簿 loader file xls 列 A B C 它非常适合我的需求 Sub PullTrackerInfo Pull info fr
  • MS Access DAO 连接在退出时放弃更改

    因此 我有一个 Access 表单 我在其中使用此 VBA 代码以及与 MySQL 数据库的 DAO 连接 一切都很好 但如果用户关闭表单而不单击 保存 按钮 新记录无论如何都会保存 所以我正在寻找的是 是否有任何方法可以在关闭事件时阻止将
  • 使用文本框搜索 datagridview 中的列 (vb.net)

    如何使用文本框搜索 datagridview 中的列 我正在使用 vb net 2010 我有一个带有数据源的 Datagridview 下面是我用于填充 datagridview 的代码 网格视图将有 4 列 Private Sub Lo
  • Excel VLOOKUP 和 SEARCH 组合

    我试图在文本列中搜索文本字符串的一部分并返回第二列 希望这通过一个示例更有意义 请注意 这个示例是编造的 我无法发布我正在使用的确切数据 但这与它类似 例如 A D E Really good dog Good dog text1 red
  • 如何禁用Excel自动识别数字和文本

    我使用 Python 生成了 CSV 文件 但是当我在Excel中打开它时 如果可以转换 Excel会自动将字符串识别为数字 e g 33E105变成33 10 105 这实际上是一个ID 而不是一个数字 如何在打开 CSV 文件时在 Ex
  • VBA Excel:将条件格式应用于空白单元格

    我正在尝试编写一个子过程 它将一些条件格式应用于 Excel 中的一系列单元格 我有点卡住了 所以我使用了宏录制器 然而 我无法弄清楚为什么它应用下面的公式 并且当我手动运行代码时它失败了 我想要做的是将条件格式应用于范围内的空白单元格 我
  • 确定 IE 中的 HTML 按钮是否被禁用

    我最近正在做一些 VBA 工作 我需要签入网页以单击按钮 如果启用 如果禁用则不要单击 但 我不知道如何让 VBA 检查禁用的按钮 这是按钮代码
  • 使用列号计算列中数字的平均值

    我正在尝试找到一种使用列号来计算列中数字平均值的方法 例如 我知道 E 列中数字的平均值可以使用公式 AVERAGE E E 获得 但是如果我需要使用列号 在本例中为 5 来计算该平均值该怎么办 提前致谢 使用索引 AVERAGE INDE
  • 使用 python 中 pandas 的 read_excel 函数将日期保留为字符串

    Python 2 7 10 尝试过 pandas 0 17 1 函数 read excel 尝试过 pyexcel 0 1 7 pyexcel xlsx 0 0 7 函数 get records 在Python中使用pandas时可以读取e
  • 循环遍历文件扩展名,excel vba

    我正在使用文件扩展名数组并循环访问工作簿文件夹 该代码正在命名 Sheet 1 name MyName 我注意到尽管 xlsm 不在数组中 它仍在打开并命名工作表 这是代码 任何人都可以看看他们是否遇到同样的问题并且能够解决它 Sub Lo
  • Excel.Range.Find 使用长度超过 255 个字符的字符串

    我在 Excel 中存储每个包含 1023 个字符的字符串 稍后 我需要能够搜索 Excel 文件并找到某个值所在的行 我可以保证我正在查找的字符串在工作簿中的某处恰好出现一次 目前 每次尝试搜索时 我都会收到类型不匹配错误 由于查找函数的
  • Access 2013/2016 不支持树形视图控件,给出错误消息“用户定义的类型未定义”

    我有一个 VBA 项目 可以完美运行到 Windows 7 32 64 位 和 Office 2010 但是当我尝试在 Office 2013 或 2016 上运行它时 它不会加载树视图控件并在以下位置给出错误 私有 SelectedNod

随机推荐

  • 如何在java中转换wav文件

    如何在java中转换wav文件 AudioFormat targetFormat new AudioFormat sourceFormat getEncoding fTargetFrameRate 16 sourceFormat getCh
  • 实体“HTML.Version”的声明必须以“>”结尾

    我是 XML 解析和 DTD 的新手 我试图创建一个简单的 SpringBean 程序并使用 Spring xml 实例化一个类 Triangle java 我的 DrawingApp java 如下所示 import org spring
  • .NET 中的防篡改配置文件?

    我们提供带有关联配置文件的 NET 应用程序 我们的顾问在安装过程中创建配置文件 我们希望让客户端很难篡改配置文件 我们有哪些途径 目前 我正在考虑使用我们的私钥对配置文件进行签名 并在应用程序启动时根据公钥对其进行验证 然后我将公钥隐藏在
  • 让 HTML5 视频适合父元素大小

    我在 中有一个 元素 当页面上的其他元素动态调整 添加 删除时 该元素会自动调整大小 我希望视频元素也能自动调整大小 以便它始终包含在其背景 div 中 如果我将视频元素的 CSS 高度和宽度设置为 100 这种方法就有效 因此它的大小始终
  • 具有动态排序依据的 LINQ 查询

    我有一个查询 我需要基于查询字符串参数进行排序 例如 如果排序参数是价格 则查询需要随价格更改 如果其评级则更改查询以按评级排序 我知道 PredicateBuilder 可以执行 And 和 OR 操作 但是如何进行动态 ordeby l
  • 创建新对话框时出现 NullPointerException

    我有一个 DialogFragment 它创建一个列表视图对话框 并在列表项上单击 我想显示一个警报对话框 但是当我创建该对话框时 它给了我一个NullPointerException出现我以前从未见过的错误 08 05 11 40 42
  • F# 的 timeit 函数

    我想写一些类似的东西 let timeit x a gt b let start System DateTime Now x let duration System DateTime Now start printfn time usage
  • Dtrace 中的局部变量

    如何使用 dtrace 访问函数的本地变量 例如 在下面的代码片段中 我想使用 dtrace 了解变量 x 的值 void foo int a int x some fun a 对于内核代码来说 跟踪局部变量是不可能的 因为没有检测任意内核
  • Android实现ScrollView setOnScrollChangeListener

    在我的显示和隐藏一些小部件的应用程序中 我在该网站上找到了以下代码 但我无法在我的片段上实现它 例如 public abstract class HidingScrollListener extends RecyclerView OnScr
  • 如何从命令行设置MySQL会话wait_timeout?

    正如您从下面的输出中看到的 我正在使用 MySQL shell 来更改会话的wait timeout可变为 30 秒 有用 但是 是否可以从命令行设置此变量 mysql u root h 127 0 0 1 p Enter password
  • .Net TimeZoneInfo ID - 是否特定于 Windows 语言?

    我正在使用 net TimeZoneInfo FindSystemTimeZoneById 方法 据我所知该方法查询注册表 存储在注册表 HKEY LOCAL MACHINE Software Microsoft Windows NT Cu
  • Python 调试器的列表理解范围错误

    在调试我的代码时 我想使用列表理解 但是 当我在函数内部时 我似乎无法从调试器评估列表理解 我正在使用Python 3 4 脚本内容 cat test py usr bin python def foo x 1 2 3 3 4 print
  • 模拟 ZPL 打印机

    为了在我的 Mac 上模拟 ZPL 打印机 我在互联网上搜索了几天 最后 我在这里发布了一个解决方案 以便其他用户可以发现它有帮助 我想在这里发布我的解决方案模拟 Zebra 打印机 https stackoverflow com ques
  • 根据 JQGRID 中的条件编辑行

    在 JQGRID 中使用表单编辑 我用不同的颜色显示行 红色 无法编辑行 黑色 可以编辑行 1 Option 当用户单击编辑按钮并且所选行为红色时 应显示消息记录 无法编辑 2 选项 如果用户选择了黑色标记的可编辑行 用户可以编辑该行 但是
  • 当我在程序启动后复制 DLL 时,在运行时加载程序集失败

    在运行时我加载一个程序集 Assembly assembly Assembly LoadFrom c MyFolder MyAssembly dll 如果程序集位于该文件夹中 则此方法有效 如果程序集不在文件夹中 我会得到一个异常 当然告诉
  • 在 Java 中如何检查字节数组是否包含 Unicode 字符串?

    给定一个 UTF 8 编码字符串或任意二进制数据的字节数组 可以使用哪些方法in Java来确定它是哪一个 该数组可以由类似于以下的代码生成 byte utf8 Hello World getBytes UTF 8 或者 它可能是由类似于以
  • Ansible:全局模板文件夹?

    谷歌搜索找不到任何东西 有group vars 全部 对于变量 有类似的模板吗 我想在多个角色中使用一些模板 您可以将全局模板放入templatesAnsible 布局顶层目录 与group vars 顺便说一句 全局文件也是如此 file
  • 数组指针的常量正确性?

    有人争论说 在现代 C 语言中 我们应该始终通过数组指针将数组传递给函数 因为数组指针具有强类型 例子 void func size t n int arr n int array 3 func 3 array 这听起来可能是防止各种类型相
  • dask 可以用于在核心之外进行分组和重新编码吗?

    我有 8GB csv 文件和 8GB RAM 每个文件每行有两个字符串 格式如下 a c c a f g a c c a b f c a 对于较小的文件 我删除重复项 计算前两列中每行的副本数 然后将字符串重新编码为整数如下 https s
  • 使用 VBA 选择“查找”的第二个结果

    我正在努力做到这一点 以便我可以找到 lights 的第二个结果 以防该术语出现各种情况 下面的代码查找所考虑范围内的第一个匹配项 Dim ws As Worksheet Dim rng1 As Range Dim y As Range C