
25/09/2008, 13:12
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 16 años, 7 meses Puntos: 0 | |
Una rutina de 5ª Generacion. Toma decisiones propias. Muy buenos dias/buenas tardes/noches.
Es mi primera pregunta, asi que gracias a todos por leerlo, se que quien pueda ayudara.
Os copio una sentencia que me tiene loco y ya no se por donde seguir.
__________________________________________________ _____________
Sub BuscarTextoEnLibro()
Dim MiWord As String, FirstFind As String, MiMsg As String
Dim MiCell As Range, MiRangoActivo As String
MiWord = InputBox("Artículo a Buscar"): If MiWord = "" Then Exit Sub
MiRangoActivo = Selection.Address(External:=True)
For Each MiSheet In ThisWorkbook.Sheets
FirstFind = ""
Do
If FirstFind = "" Then
Set MiCell = MiSheet.Cells.Find(What:=MiWord, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
If MiCell Is Nothing Then GoTo S02
FirstFind = MiCell.Address
Else
Set MiCell = MiSheet.Cells.FindNext(MiCell)
If MiCell.Address = FirstFind Then GoTo S02
End If
Application.Goto MiCell
MiMsg = "El Artículo se encuentra en la hoja """ & ActiveSheet.Name & """." & _
Chr(10) & Chr(10) & "¿ Continuar buscando ?"
If MsgBox(MiMsg, vbYesNo, "Localizado texto: """ & MiWord & """") = 7 Then
Set MiCell = Nothing
Exit Sub
End If
Loop
S02:
Next MiSheet
Application.Goto Range(MiRangoActivo)
Set MiCell = Nothing
End Sub
__________________________________________________ _________
Esto lo he copiado de internet, yo no tengo ese nivel ni por asomo.
La macro funciona, pero cuando ella decide.
Busco palabra o parte de palabras y va de muerte, pero en ocasiones da un fallo, cual?:
Se ha producido el error "91" en tiempo de ejecucion:
Variable de objeto o bloque With no establecido
y en el visual basic se queda parado en la sentencia:
If MiCell.Address = FirstFind Then
Despues de romperme los cuernos he conseguido ver, que falla, solo cuando tengo dos o mas celdas conalineacion combinar celdas. Hasta aqui casi bien. Pero Sigo.
No siempre, solo algunas veces lo hace, osea que busco una palabra que esta en una casilla alineada con otra y no falla, pero en la de al lado con otra palabra si.
He intercambiado formatos, palabras etc, y no encuento el orden, pero por ejemplo en la celda A1 siempre funciona da igual lo que ponga pero en por ejemplo la celda a1 de otra hoja unas palabras funcionan y otras no. No me ceeis, yo tampo, he tirado la toaya, si alquien quiere la hoja se la paso.
Gracias y perdonar la barrila. |