
06/09/2008, 12:51
|
| | Fecha de Ingreso: septiembre-2008
Mensajes: 7
Antigüedad: 16 años, 8 meses Puntos: 0 | |
Find en excel con vb Que concha, pero primero que todo Buenas Tardes.
Deseo realizar una consulta en excel con FIND, cuando el dato existe funciona perfectamente, cuando el dato no existe sale el mensaje "Variable de tipo Object o la variable de bloque With no está establecida" err 91.
La definicion de variables y rutina es la suguiente, tomada de aca mismo:
Option Explicit
Global AppXls As Object
Global ret As Boolean
Public Sub Reemplazar(PathXls As String, _
Hoja As String, _
TextoFind As String, _
Optional Match_Case As Boolean)
On Error GoTo Error_Sub
' verifica si existe el path del archivo xls
If Len(Dir(PathXls)) = 0 Then
MsgBox "No se ha encontrado la ruta el Libro", vbCritical
Exit Sub
End If
If Hoja = vbNullString Or _
TextoFind = vbNullString Then
MsgBox "No se indicaron algunos parámetros", vbCritical
Exit Sub
End If
Rem Me.MousePointer = vbHourglass
' Nuevo objeto de Excel Application
Set AppXls = CreateObject("Excel.Application")
' abre el libro
AppXls.Workbooks.Open PathXls
' opcional ( excel no visible )
AppXls.Visible = False
' Ejecuta el método Replace, indicando el Sheet, y las _
opciones de búsqueda y reemplazo
ret = AppXls.ActiveWorkbook.Sheets(Hoja).Application.Cel ls.Find(What:=TextoFind, _
LookAt:=1, _
SearchOrder:=1, _
MatchCase:=Match_Case)
MsgBox "NO"
AppXls.ActiveWorkbook.Save
' cierra y elimina la referencia de Excel
AppXls.Quit
Set AppXls = Nothing
Rem Me.MousePointer = 0
MsgBox "Listo", vbInformation
Exit Sub
' rutina de error
Error_Sub:
MsgBox Err.Description
On Error Resume Next
AppXls.Quit
Set AppXls = Nothing
Rem Me.MousePointer = 0
End Sub
Private Sub Form_Load()
Command1.Caption = "Reemplazar todo"
Me.Caption = "Buscar y reemplzar en Excel"
Text1.Text = "d:\libro25.xls"
Text2 = "Hoja1"
Text3.Text = "texto a buscar"
Text4.Text = "Texto a reemplzar"
End Sub |