IF FIND 函数在 vba 中找不到任何内容

Posted

技术标签:

【中文标题】IF FIND 函数在 vba 中找不到任何内容【英文标题】:IF FIND function doesn't find anything in vba then 【发布时间】:2015-12-01 23:13:22 【问题描述】:

我目前正在自动化执行以下步骤的手动流程:

1.提示用户打开数据文件并打开文件

2.插入4列

3.使用文件中已有的数据创建一个格式为“DD/MM/YYYY TEXT”的唯一字符串,其中文本是一个变量

4.使用 if 语句判断主数据文件中是否存在行

5.如果d列中的值=“Exists”,则在主数据文件中找到该字符串,并使用vlookup函数将数据从数据文件传输到主数据文件

6.Else(如果值=其他)然后插入一个新的行名,然后使用vlookup函数将数据从数据文件传输到主文件

我的问题在于 Unq.String 有时/很少不是完全匹配的事实,因此通过使用 FIND 函数,它将返回消息:“我们找不到您要查找的内容。单击选项更多搜索方式”

我对你们的问题是,有没有一种方法可以在收到此错误消息后将数据粘贴到另一个名为“mop up”的选项卡上,然后再移动到下一行?我在第 5 步和第 6 步的代码中使用了 LOOP,因为我需要跳下每一行,但如果不中断循环,我不知道从哪里开始。

提前感谢您的帮助,如果您需要有关上下文的更多信息,请告诉我。

亚伦

谢谢

编辑评论解释了我打算如何使用它:

Dim ColumnD As String
Dim SearchValue As String

If ColumnD = "Exists" Then

'Find SearchValue in Master data sheet and vlookup
'ELSE Insert new row, add UNQ.String to New row then do the vlookup
'Loop untill using Rows.count + 1 and lastRow (Already declared)

【问题讨论】:

您需要展示您的代码 - 如果您的问题中没有包含它,就很难提出更改建议。 how to detect whether VBA excel found something?的可能重复 【参考方案1】:

这里已经探讨过这个问题:How to detect whether VBA Excel found something。

基本上,您将一个范围变量设置为结果.find 范围。如果该范围是Nothing,则没有返回任何内容,您可以以最适合您的方式回复用户。

编辑:根据 OP 添加的查询

Sub findsomething()
    Dim foundsomething As Range
    Dim searchterm As String
    searchterm = "Search Term"

    Set foundsomething = Application.ActiveSheet.Find(What:="search term", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
    If (Not foundsomething Is Nothing) And columnD = "Exists" Then
        ' Do something
    End If
End Sub

干杯,

【讨论】:

您好 nbayly,非常感谢。就在这一点上,我怎样才能将其合并到已经存在的 IF 语句中。我已经在上面的问题中添加了我的代码(尚未完成,但概述了我想要做的事情)。 @aaron2295 我已根据您的附加询问添加了代码。如果您发现此答案有用,请考虑将其标记为有用。热烈的问候。

以上是关于IF FIND 函数在 vba 中找不到任何内容的主要内容,如果未能解决你的问题,请参考以下文章

C++ std::string::find_last_of()函数(在字符串中搜索与参数中指定的任何字符匹配的最后一个字符)(从后往前找)(文件路径中找文件名,/\兼容windows和linux)

C++ std::string::find_last_of()函数(在字符串中搜索与参数中指定的任何字符匹配的最后一个字符)(从后往前找)(文件路径中找文件名,/\兼容windows和linux)

在 excel 2007 vba 中找不到可安装的 ISAM

Node.Js-如果在MongoDB中找不到匹配的文档,则返回1

在Rails4中找不到预期的行为

服务扩展写入核心数据,但在应用程序中找不到任何内容