Saltar al contenido

Conflicto con User Form en E-2007 y error detectado por Office


Invitado jorgetchake

Recommended Posts

Invitado jorgetchake
publicado

Saludos amigos

Estoy obligado a desarrollar algo conVB de E-2007, y comencé a chocar con algunas cosas que me obliga a molestarlos para intentar resolverlos.

La máquina que uso para el desarrollo, tiene WXP y sólo E-2007, ni rastros del 2003.

Caso 1

Estaba probando y salió un enorme cartel que comenzaba diciendo, “Microsoft Office Excel detectó un problema y debe cerrarse…”,… se cerró y se activó la restauración del libro. El mismo cartel salió en otras ocasiones donde yo no estaba haciendo pruebas, tan sólo estaba mirando la pantalla pensando en como resolver algo.

También apareció en la PC donde correrá lo que estoy haciendo,… apareció solito, no se estaba usando la PC.

Caso 2

Tengo un UF (User Form) al que le hice varios cambios, al objeto por la apariencia y al código por consecuencia,… al cargarlo para hacer mis pruebas veo que la apariencia no cambió y sí cambió el código. ¿????

El mismo UF luego de hacerle cambios (en otro momento),… al llamarlo para probarlos me sale un mensaje diciendo que no lo encuentra,…. Salgo de la ejecución sin grabar el libro, lo recargo y se normaliza todo ¿????

Caso 3

Los botones (Commandbutton) pierden el ícono que les pongo tan sólo por apariencia.

------------------

Adjunto dos libros,… uno es el programa y el otro un archivo. El programa cargará el archivo cuando sea requerido.

Tuve alguna dificultad con las extensiones al momento de la Open,… debí ponerle .xlsm aunque no tengo nada de macros.

Amigos,… les recuerdo que como operador soy una muy importante bestia,… no logro entender como hacer algunas cosas,… como por ejemplo Zipear archivos con Office-2007,… por eso los adjuntos son tipo 97-2003.

Hace ya tiempo no les pido que me tengan paciencia (en lo posible),… por eso les pido que me tengan paciencia y me saquen del apuro.

Cordiales saludos

OE-Historia.zip

Programa.foro.zip

publicado

Hola Jorge

En primer intento, abri los dos libros, abri el formulario, llene datos y parece que funciona, ojo pasale un buen antivirus al PC y actualizala, contarte que 2007 es muy famoso, por ser problematico, 2010 es mejor que 2007

Leete este tema [DBOX]https://www.ayudaexcel.com/foro/macros-programacion-vba-10/solucionado-compatibilidad-2003-2007-a-20702/index2.html[/DBOX]

Saludos

Invitado jorgetchake
publicado

Estimado Gerson

Gracias por tu respuesta.

En realidad los casos que he planteado se producen esporádicamente y en diferentes PC.

Aprovecho para consultarte si funciona bien que desarrolle en 2003 y corra el programa en 2007 en modalidad compatible¿¿¿

El libro del programa debe tener extensión .xlsm,..... y el otro libro que es tan sólo un archivo debería ser .xlsx,... y así lo hice al principio pero tuve dificultades con la Open de ese archivo. Podrías decirme porqué¿¿¿

Gracias y Cordiales saludos.

publicado

Hola Jorge:

Estoy con Gerson, en E2010, no he tenido el mas mínimo problema.

Yo también me inclino por algún tipo de virús, o algún tipo de incompatibilidad. ¿ Porqué no abandonas definitivamente E2003 ?.

Yo he pasado sucesivamente por E2007 y después a E2010, y salvo no poder utilizar el control Calendar no he tenido el mas mínimo problema.

Eso si, desinstalé E203 cuando instalé E2007, y desde entonces todo perfecto.

Invitado jorgetchake
publicado

Salve Antoni

Gracias por la sugerencia,.... pero ya sé que no será fácil la migración.

Me olvidé comentar que desde que eliminé el código que protegía las hojas,.. mejoró alguito el funcionamiento general,... no sé si tiene alguna relación con los problemas,... pero hasta un poco más rápido funciona.

Gracias y cordiales saludos.

publicado

Mira acabo de abrir el proyecto en dos equipos

el primero en uno que acaban de comprar donde mi sobrina con office 2010 pero sin actualizar la licencia y cuando le di en centro de seguridad para actualizar macros por si las moscas me saco del programa.

Lo utilice en en otro equipo con oficce 2010 con licencia actualizada y no genero problema, pero como el documento esta guardado en office 2003 cambio los formatos de letras y los colores y desa.

Porque no verificas en los equipos que lo corres para ver si tienen estas mismas condiciones que te acabo de mencionar, un saludo desde colombia..

publicado

Jorge

Lo he probado con 2010 (en casa) y parece que funciona, no existe ningun fallo como "Microsoft Office Excel detectó un problema y debe cerrarse…”, estos fallos, se dan por que la PC tiene bajos recursos, posible amenazas/virus/troyanos o sencillamente 2007 como ultima causa

Saludos compañeros

Invitado jorgetchake
publicado

Gracias Gerson y gracias Jenju

Estoy convencido que será mejor que termine todo el proyecto con E-2003,... para lo que necesito, el 2003 es perfecto,... de ese modo durante el desarrollo veremos como migrar al 2010,... sinó quedará el 2003.

Supongo que el 2010 podrá tomar lo hecho en 2003 y convertirlo a 2010¿¿¿¿

Gracias nuevamente y quedaré atento por si alguno agregara algo sobre el tema,..

Por mi parte doy por cerrado el planteo.

Un abrazo a todos y cordiales saludos.

publicado

Hola mi estimado Jorge

Todo lo que desarrolles en 2003, podras correrlo en versiones posteriores, salvo algunas excepciones, te recomiendo en la medida te sea posible cambiarte inmediatamente a 2010, pero no abandones 2003, pues yo tengo 2003/2007/2010 y no tengo problemas para utilizar cualquiera de las 3, pues las conservo para realizar diferentes pruebas

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.