Excel se bloquea con rutina VBA

Amm, quería poner esta pregunta desde el board de preguntas... Pero no sé porque aparece la página como no encontrada. Mi problema es este: tengo una rutina de VBA Excel que me permite recuperar un archivo separado por comas y guarda la información del archivo en una hoja de un libro de Excel que tengo abierto previamente (la hoja se integra al libro). El caso es que cuando activo esa macro (a la que accedo por medio de un botón en una UserForm) pasan aproximadamente 5 o 10 minutos y Excel se cierra indicando que tiene problemas, que debe cerrarse, me da la opción de recuperar el archivo que se acaba de dañar pero cuando lo recupera me indica que no lo puede abrir así que tengo que descartar ese archivo recuperado y quedarme con el último que guardé. Tengo otras rutinas en mi programa y he probado todas para ver cual me genera el error... Y la que está ligada invariablemente es la de cargar archivos. (O eso me parece a mí)

Pongo el código de la rutina que según yo es culpable de que Excel se cierre:

Sub cargar_CSV()
Dim nombre_archivo
nombre_archivo= Application.GetOpenFilename("Archivos CSV (*.csv), *.txt")
If nombre_archivo = False Then Exit Sub
'abrir el archivo y dividir en columnas
Workbooks.OpenText _
Filename:=nombre_archivo, _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
Comma:=True, _
FieldInfo:=Array(1, 1)
Application.DisplayAlerts = False
Workbooks("Libro1.xlsm").Sheets("Datos").Delete
Application.DisplayAlerts = True
ActiveSheet.Move Before:=Workbooks("Libro1.xlsm").Sheets("Hoja2")
ActiveSheet.Name = "Datos del paciente"
Set strNombreArchivo = Nothing
End Sub

Esta rutina me la pasaron en esta misma página, sólo modifiqué los nombres. Aclaro esto para que no parezca que me adjudico la autoría de algo que en realidad no diseñé (y en especial porque creo que fuiste tu precisamente el que me dio parte de esta macro).

¿Será qué esta es la causa del bloqueo de excel? :s

1 respuesta

Respuesta
1

Ya probé la rutina y se tarda 1 segundo.

Tengo las siguientes dudas:

1. Tu libro donde vas a cargar el archivo csv, ¿se llama libro1.xlsm?

2. En tu libro, ¿tienes una hoja que se llama "Datos"?

3. En tu libro, ¿tienes una hoja que se llama "Hoja2"?

4. ¿El archivo que cargas es muy grande?

En realidad no, fue un ejemplo: el libro se llama "Sistema experto", si existe la hoja llamada "Datos" y la "Hoja2" se llama "Interfaz". El archivo que se carga no es tan grande, es de 2 kb.

Entonces hay que revisar todas las macros que tienes en el userform, ¿qué ejecutas después de cargar el archivo?

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas