vba函数,用于将某个值从一个工作簿复制到另一个工作簿
我有两本作业本。仅当一个工作簿中的行包含另一个工作簿中的某个值时,我才需要复制该行。这是我的代码,它适用于第一个i=21和i=22,但告诉我单元格中有错误。当我到达i=23时查找vba函数,用于将某个值从一个工作簿复制到另一个工作簿,vba,loops,for-loop,Vba,Loops,For Loop,我有两本作业本。仅当一个工作簿中的行包含另一个工作簿中的某个值时,我才需要复制该行。这是我的代码,它适用于第一个i=21和i=22,但告诉我单元格中有错误。当我到达i=23时查找 For i = 21 To 35 Windows("Run Report.xlsm").Activate Dim strL3 As String strL3 = Sheets("Summary").Range("A" & i).Value Workbooks("Ace Surve
For i = 21 To 35
Windows("Run Report.xlsm").Activate
Dim strL3 As String
strL3 = Sheets("Summary").Range("A" & i).Value
Workbooks("Ace Survey - Level 1 and level 3 Trending (w Resolution) v3").Activate
Range("A1").Activate
Cells.Find(What:=strL3, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
If strL3 = "Call Disconnected" Or strL3 = "Caller Not Present" Then
ActiveCell.Offset(2, 2).Select
Else
ActiveCell.Offset(1, 2).Select
End If
Application.CutCopyMode = False
ActiveCell.Copy
Windows("Run Report.xlsm").Activate
Sheets("Summary").Select
Range("G" & i).Select
ActiveSheet.Paste
Next i
Find
如果找到某个对象,则返回范围
对象,否则返回无。您正在尝试激活使用Find的结果,即使它是空的-这将生成一个错误
您需要将查找
尝试的结果存储在范围
变量中,并检查无
Dim rngFound As Range
Set rngFound = Range("A1").Find(...)
If Not rngFound Is Nothing Then
' we found something!
Else
' Nothing
End If
但是,正如建议的那样,你应该为你的问题提供更多的细节。什么是“前两个i有效,但之后中断”的意思?你忘了告诉我们它是如何“断裂”的,也忘了问一个问题。请用你的问题来解决这两件事,这样有人可以试着帮助你。谢谢。它在i=21和i=22之间循环,但在23上,它告诉我单元格中有错误。再次,请单击您的问题(单击我已发布两次的链接),将该信息添加到那里,而不是添加到评论中。而且,“它告诉我有一个错误”并不是对错误的描述——它到底告诉了你什么?