Macro que se cuelga

Hace un tiempo hice una pregunta y otro experto me dio algunas ideas, por lo que la macro pasó a ser más rápida y colgarse mucho menos. Sin embargo, se sigue colgando, lo que hace es quedarse "tildada" y no pasa nada, como si pensara algo eternamente.
La macro es la siguiente:
Sub CARGA_COMAFI()
On Error GoTo errores:
Application.ScreenUpdating = False
'comprobando blancos y valores
aprox1 = Range("e14") - 1
aprox2 = Range("e14") + 1
If Range("B9").Value = "" Or Range("B10").Value = "" Or Range("B11").Value = "" Or Range("B12").Value = "" Or Range("B14").Value = "" Or Range("B15").Value = "" Or Range("B16").Value = "" Or Range("B17").Value = "" Or Range("B18").Value = "" Or Range("B19").Value = "" Or Range("B20").Value = "" Or Range("B21").Value = "" Or Range("B22").Value = "" Then
MsgBox "Has dejado campos en blanco."
Else
If Range("b10").Value < aprox1 And Range("b19").Text = "CANCELACION" Then
MsgBox "El Importe a Rendir debe coincidir con el Total Pago Cancelatorio"
Else
If Range("b10").Value > aprox2 And Range("b19").Text = "CANCELACION" Then
MsgBox "El Importe a Rendir debe coincidir con el Total Pago Cancelatorio"
Else
'carga_diaria_comafi
Range("B4:b18").Select
    Selection.Copy
    Workbooks.Open Filename:="O:\COBROS CUARTO\Rendicion_Diaria.xlsm"
Range("A19").End(xlDown).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Application.CutCopyMode = False
    ActiveWorkbook.Close True
'carga_acumulado_comafi
Workbooks("Carga_Diaria.xlsm").Activate
Sheets("COMAFI").Select
Range("B5:B41").Select
    Selection.Copy
Workbooks.Open Filename:="O:\COBROS CUARTO\Acumulado_Historico.xlsx"
    Sheets("Comafi").Select
Range("A3").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Application.CutCopyMode = False
    ActiveWorkbook.Close True
    MsgBox "El pago se ha cargado exitosamente"
    ActiveWorkbook.Close False
End If
End If
End If
Application.ScreenUpdating = True
'errores
errores: If err.Number > 0 Then errores
End Sub
Se encuentra en un disco de la red en un archivo "Carga_Diaria.xlsm" que es abierto y ejecutado por varios usuarios en distintos momentos.

1 Respuesta

Respuesta
Las extensiones de los archivos deben de ser xlsx no xlsm
Gracias, ¿pero por qué?
Además tengo entendido que se puede tener archivos con macros que no sean .xlsm
Esto es Office 2010.
Los archivos xlsm son los que ontienen macros se gurdan en un formato especial a partir de office 2007, pero para llamarlos desde un código de macro como es tu caso
si son de office 2007 y posteriores debe llevar extensión xlsx y si es office 2003 e inferiores debe llevar expencion xls.
Saludos
Para saber más visita: www.expertosmacrosexcel.es.tl
La verdad no te entiendo. En mi mensaje anterior me expresé mal. Para contener macros tiene que ser .xlsm, estamos de acuerdo. ¿Pero cómo voy a llamar un .xlsm si no puedo poner esa extensión? Si pongo .xlsx simplemente me va a decir que no existe. Además, como dije, normalmente funciona y algunas veces se cuelga.
¿O me estás diciendo que en teoría no se puede llamar con una macro un archivo que contenga macros desde Office 2007?
Ok, mira la macro se puede colgar por falta de memoria en tu pc, la extensión xlsm significa libr de macros...
E aquí el tutoría...
http://office.microsoft.com/es-es/powerpoint-help/introduccion-a-las-nuevas-extensiones-de-nombres-de-archivo-y-a-formatos-xml-de-office-HA010006935.aspx
Para que verifique un archivo xlsm ese archivo tiene que existir con esa extensión... ya que excel guarda por default la extensión xlsx.
Saludos
Para saber más visita: www.expertosmacrosexcel.es.tl

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas