【发布时间】:2017-05-29 02:16:15
【问题描述】:
我有以下问题 我有一个想要循环运行的 VLOOKUP,但是当 vlookup 没有找到相应的值时,它会停止脚本。如果我使用错误处理程序处理错误,它会跳转并停止它。
Sub Botón1_Haga_clic_en()
Dim filas As Integer
Dim desdefila As Integer
filas = InputBox("Cuantas files tiene éste bloque de pagos?")
desdefila = InputBox("Desde que fila empieza?")
filasfinal = filas + desdefila
For x = desdefila To filasfinal
Dim Nombre As String
Dim Rango As Range
Set Rango = Sheets(6).Range("A:B")
Nombre = Application.WorksheetFunction.VLookup(Range("A" & desdefila).Value, Rango, 2, 0)
Range("E" & desdefila).Value = Nombre
desdefila = desdefila + 1
Next
End Sub
关于如何返回循环或处理此错误的任何想法?
【问题讨论】:
-
您将 Nombre 声明为字符串,因此如果找不到该值,它将返回 Excel 不喜欢的错误,因此将其声明为变体。然后在继续之前添加一个 Iferror 检查。
-
你也可以分享你的错误处理程序吗?
-
拜托,不要对人大喊大叫。
-
您在下面得到了 rror 处理程序答案的答案。为了更好的编码(更快),在
For x = desdefila To filasfinal循环之前使用 3 行Dim Nombre As String、Dim Rango As Range和Set Rango = Sheets(6).Range("A:B"),无需在每次进入循环时根据您的情况定义和设置范围
标签: vba excel for-loop vlookup