gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:01:34 25 4
gpt4 key购买 nike

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

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

2.插入4列

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

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

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

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

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

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

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

亚伦

谢谢

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

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 .

基本上,您将范围变量设置为结果 .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

干杯,

关于vba - IF FIND 函数在 vba 中找不到任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com