本质上,我的代码只是找到了一个单元格,其中包含一个来自表单的自旋按钮提供的索引坐标。这只是整个代码的一部分,在我今天早上重新打开代码继续编码之前,整个代码工作得非常完美而且速度很快。上次保存之后,我没有做任何更改,通过一些调试,我发现由于某种原因,.Find方法什么也不返回,尽管数据在那里,即使我用它应该找到的数据填充整个列,它也不会返回任何内容。因此,代码产生:
“对象变量或块变量未设置”
每次它尝试使用对象时。
Set DR = Worksheets("Detalle - Reporte")
If spinCapituloVal.Value = 0 Then
MsgBox ("Por favor, introduce un capítulo válido")
Exit Sub
End If
With Columns(2)
Set Finder = .Find(spinCapituloVal.Value, LookIn:=xlValues, MatchCase:=False)
End With
If Finder Is Nothing Then
MsgBox ("No se encontró el capítulo especificado")
Exit Sub
End If
indiceCapActual = Finder.Value
indiceCapSiguiente = Finder.Offset(1, 0).Value
If indiceCapSiguiente = "" Then
With DR.Columns(1)
Set capActual = .Find(indiceCapActual, LookIn:=xlValues, MatchCase:=True)
Set capActualGuia = capActual.End(xlDown)
End With
Else
With DR.Columns(1)
Set capActual = .Find(indiceCapActual, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
Set capSiguiente = .Find(indiceCapSiguiente, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
End With
End If我只想知道为什么在世界上.Find方法刚刚停止工作,我如何避免它在未来?
发布于 2015-11-10 19:21:24
我的问题的解决办法是非常出乎意料的。我使用带有.Find方法的capActual的列没有足够的宽度来正确地显示其内容,这在某种程度上阻止了.Find找到包含该值的单元格。是。列宽。
给栏目足够的空间展示内容,解决了问题。
https://stackoverflow.com/questions/33636699
复制相似问题