Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2008, 13:12
Guillermo_Torre
 
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.