Jump to content

Archived

This topic is now archived and is closed to further replies.

Gantrax

APPCRASH StackHash_54f8 EXCEL VBA

Recommended Posts

VBuenas tardes, 

 Le comento mi inquietud a la comunidad haber si alguno sabria como ayudarme. (Subo adjunto el archivo para poder observar mejor)

(primero pego el appcrash:

APPCRASH
  Application Name:    EXCEL.EXE
  Application Version:    14.0.4756.1000
  Application Timestamp:    4b9c08e8
  Fault Module Name:    StackHash_54f8
  Fault Module Version:    6.1.7600.16385
  Fault Module Timestamp:    4a5bdadb
  Exception Code:    c0000374
  Exception Offset:    000c283b
  OS Version:    6.1.7600.2.0.0.256.48
  Locale ID:    11274
  Additional Information 1:    54f8
  Additional Information 2:    54f8d18223689b3a6e7f554de6059584
  Additional Information 3:    931a
  Additional Information 4:    931a01880ea098b34b0a35555eaa7a8a

)

 

En mi trabajo tengo archivos de caja, uno por cada dia laboral, estos estan en carpetas tipo "arbol"  (una carpeta cada año, dentro de estas una carpeta cada mes, y dentro de estos un archivo identico cada día).

 Quero saber cada dia que dinero entro y que dinero salio, entonces me hice una hoja que recorrerá todos los archivos de todos los dias, guardando la información buscada.

Todo andaba bien hasta que me encontré con que una caja estaba abierta, la estaban usando, entonces me salio un error.

Para evitarlo indique abrir el archivo en solo lectura (y que siquiera me pregunte si lo quiero en solo lectura al estar en uso):

 

Yo tenia el codigo para abrir así: 

1) Workbooks.Open ("\\Pcmadre\EMPRESA\Documentos\Internos\Caja\" & AÑO & "\" & MES & "\MOVIMIENTOS DE CAJA " & DIA & "-" & MES & "-" & Mid(AÑO, 3, 2) & ".xlsx")

y queria agregarle la 4ta condicion "ReadOnly" como true:

2) Workbooks.Open ("\\Pcmadre\EMPRESA\Documentos\Internos\Caja\" & AÑO & "\" & MES & "\MOVIMIENTOS DE CAJA " & DIA & "-" & MES & "-" & Mid(AÑO, 3, 2) & ".xlsx", , True)

 

Pero al poner le codigo 2) me salta el msgbox "Error de compilación,  se esperaba: = "

aca yo supongo que me estaba pidiendo el uso de una variable del tipo "Excel.workbook", por lo que creo una variable ("XLSLibro") definida de este tipo, y paso a manejar la apertura y su cierre así:

3) Set XLSLibro = Workbooks.Open("\\Pcmadre\EMPRESA\Documentos\Internos\Caja\" & AÑO & "\" & MES & "\MOVIMIENTOS DE CAJA " & DIA & "-" & MES & "-" & Mid(AÑO, 3, 2) & ".xlsx", , True)

4) XLSLibro.Close (False)

(al cerrar workbook no guarda)

 

El problema es que el codigo corre bien hasta esa instrucción, pero cuando sigue y quiere ir al libro propio a pegar los resultados :

ThisWorkbook.Worksheets("Hoja1").Activate

ActiveSheet.Range("C7").Select
ActiveCell.Offset(i - FECHAINIC, 0).Value = Str(Day(i) & "/" & Month(i))   'ACA SALTA EL APPCRASH
ActiveCell.Offset(i - FECHAINIC, 1).Value = SALDOANT(Day(i), Month(i))
ActiveCell.Offset(i - FECHAINIC, 2).Value = ENTRADAS(Day(i), Month(i))
ActiveCell.Offset(i - FECHAINIC, 3).Value = SALDO(Day(i), Month(i))
ActiveCell.Offset(i - FECHAINIC, 4).Value = SALIDAS(Day(i), Month(i))
ActiveCell.Offset(i - FECHAINIC, 5).Value = CHQ(Day(i), Month(i))

 

Lo que intuyo es que estoy usando mal la variable "excel.workbook" y que al cerrarla no lo hago bien, o nose porque al querer usar otra workbook me sale este error. 

Nada de esto pasaba al usar los libros sin ninguna variable, pero lo q si pasaba es que me preguntaba por el solo lectura. 

Si alguien no sabe porq el appcrash, pero sabe como evitar los cuadros de "solo lectura" cuando estan en uso los archivos,  o directamente como usar libros como solo lectura y sin guardar, bienvenido sea.

Saludos!

 

Gracias.

 

Gantrax.

2019 EXTRACTO CAJA.xlsm

Share this post


Link to post
Share on other sites

Hago una aclaración que no me deja editar aun:

AL OBTENER EL APPCRASH  agregué un msgbox, antes de la linea que explota, que me mostrara los valores de las variables (STR(DIA/MES), SALDOANT, ENTRADAS, SALDO, SALIDAS, CHQ) antes de pegarlos en las celdas indicadas, pero me sale nuevamente el appcrash, por lo que quizas es un problema de memoria, saturada al agregar la variable workbook, quisiera saber como liberar la memoria de esa variable antes de continuar. 

Share this post


Link to post
Share on other sites

Hola

No he descargado tu archivo, pero la línea que aquí numeras como 2, cámbiala y déjala así:

Workbooks.Open Filename:="\\Pcmadre\EMPRESA\Documentos\Internos\Caja\" & AÑO & "\" & MES & "\MOVIMIENTOS DE CAJA " & DIA & "-" & MES & "-" & Mid(AÑO, 3, 2) & ".xlsx", ReadOnly:=True

Workbooks.Open Filename:="\\Pcmadre\EMPRESA\Documentos\Internos\Caja\" & AÑO & "\" & MES & "\MOVIMIENTOS DE CAJA " & DIA & "-" & MES & "-" & Mid(AÑO, 3, 2) & ".xlsx", ReadOnly:=True

Comentas

Abraham Valencia

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Estimado bigpetroman, antes que nada muchas gracias por responder. Explico un poco de que va el sunto de los seriales tanto en la Salida como en la Entrada, la condicion de estos equipos es algo peculiar, ya que pueden salir varias veces y entrar la misma cantidad de veces, salvo algunas excepciones que no importan para la aplicacion de este archivo. Por tal motivo, no he restringido el ingreso de los seriales a una sola vez. Para decirlo mas claro, salen en calidad de prestamo y deben regresar en un perodo X, el cual esta definido por variables de tiempo no fijas en la mayoria de los casos. Por otro lado, los equipos tienen dos seriales, uno del fabricante, y otro de Inventario, y, este ultimo, necesito capturarlo tanto en la salida como en la entrada. He de acotar, que en la salida no hay problemas con la captura o funcionamiento de la aplicacion, en cambio, en la entrada de estos equipos es donde viene mi dilema. Siendo asi, lo que necesito lograr, con vuestra ayuda claro esta: 1- Hacer que la aplicacion al ingresar el serial en la hoja " Reg. Entrada" me busque en la tabla de salida (que esta en la hoja "Salidas"), el serial que ingresé, si lo encuentra, me traiga la informacion que contiene esa linea. Y, dicha informacion, la coloque o pegue, en la tabla Entradas, que obviamente esta en la hoja "Entradas". 2- Si, no llegara a encontrar dicho serial (porque salio antes de que estubiera operativa esta aplicacion), me pida ingresar el serial de inventario, el cual esta bajo la denominacion de Bienes Nacionales. Y, al ingresar este segundo serial, me coloque la informacion (los dos seriales) en la tabla Entradas, ubicada en la hoja "Entradas". Dicho esto, lo que necesito es basicamente lo que describo arriba, ya que el mensaje que me arrojaria la aplicacion es informativo (solamente para cuando haya encontrado el serial),  para saber su ubicacion y numero de Baul, y asi poder colocar el equipo en su lugar. Con respecto a la pregunta de que si quiero agregar o no una nota, creo, deberia ser pan comido despues de lograr los puntos 1 y 2. No se si he logrado explicarme, o he enrredado mas las cosas. Por favor indicame y tratare de ser mas explicito. O si lo prefieres hacer un paso a paso. De verdad muchas gracias de antemano por vuestra atencion, esfuerzo y paciencia. Atento a vuestros comentarios... Saludos.
    • amigo @MauriciodeAbreu, yo intente ayudar, pero de verdad que no logré entender de todo, por favor sube un detalla un ejemplo concreto que tengas en tu archivo. 1. coloco el serial X en la celda E5 de la hoja Reg. Entradas 2. se debe mostrar el valor Y en la celda Z (no se, no logro entender, pues en la hoja de salida por lo que veo el serial se puede repetir) y así vas explicando hasta el paso final, para poder entender suerte
    • Lamento decirte que no utilizo esa herramienta, por lo que no puedo valorar dicha compatibilidad   Saludos 
    • Te adjunto una alternativa mas con funciones genéricas de Excel, es automático para ambas columnas    Saludos Libro1.xlsm
    • Saludos expertos, por favor necesito de sus ayudas a alguien que disponga de tiempo, necesito guarda en PDF en un carpeta que se encuentra en descarga Que se busca agregar -Que cuando se corra la macro para generar el PDF se guarde estos datos en la base de datos. -Si un usuario(Nombre) le vuelvan a generar un PDF en un rango de = 7 días atrás mande un mensaje: usuario ya fue generado copia y fecha cuando fué creado y todo. Ajunto el archivo por favor muchísimas gracias a cada uno de ustedes. Feedback Formal-MACRO-PDF-1.xlsm
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy