No funciona macro de excel en algunas computadoras

He creado un excel con macros, el cual con un solo botón te genere un pdf. La ruta de este pdf supuestamente es la misma donde esté el excel. El problema es que no funciona en todas las maquinas. Ayúdenme.

https://www.dropbox.com/s/wi5pdmpf6zagpof/Cotizador%20AWC.xlsm?dl=0 

2 respuestas

Respuesta
2

Yo también tuve problemas con el botón ActiveX que tiene la hoja, no responde... comenta con qué versión Excel diseñaste el libro.

Le dibujé un botón con la barra Formulario y le asigné la macro que previamente la coloqué en el módulo retirando la de la hoja.

Si te interesa esta solución podés solicitarme tu libro al correo que aparece en mi sitio que dejo al pie.

Por si no te queda claro, este sería el menú para crear el nuevo botón.

Y en un módulo copiarás la macro cuyo encabezado cambia a esto:

Luego solo resta hacer clic derecho sobre el nuevo botón, opción Asignar macro y asignarle la que se denomina 'COTIZANDO'.

Nota: debes retirar la macro que tenés colocada en el objeto Hoja y luego eliminar también el botón tuyo, anterior.

Esto te evitará estar averiguando las distintas versiones de cada equipo.

Sdos!

Respuesta
1

En windows hay una actualización que afectó la ejecución de los controles activex

Busca archivos en las máquinas que tienen el problema con extensión exd y renómbralos.

Vuelve a abrir excel


Otra opción es que cambies el botón Control Activex por un botón de forma.

En tu macro tienes esto:

Private Sub CommandButton21_Click()

Cámbialo por esto

Sub cotizar

Ahora, Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: cotizar
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

No olvides valorar la respuesta

Tu macro con el nuevo nombre quedaría así:

Sub cotizar()
ruta = ThisWorkbook.Path & "\"
If Cells(14, 3) <> "" And Cells(15, 3) <> "" And Cells(6, 1) <> "" Then
'PI Mundial para México
If Cells(8, 4) = "" And Cells(14, 3) = "México" And Cells(15, 3) = "Mundial" Then
On Error Resume Next
    Sheets("PIM Mundial").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PI Latam para México
Else
If Cells(8, 4) = "" And Cells(14, 3) = "México" And Cells(15, 3) = "Latinoamérica y el Caribe" Then
On Error Resume Next
    Sheets("PIM Latam").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PF Mundial para México
Else
If Cells(8, 4) <> "" And Cells(14, 3) = "México" And Cells(15, 3) = "Mundial" Then
On Error Resume Next
    Sheets("PFM Mundial").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PF Latam para México
Else
If Cells(8, 4) <> "" And Cells(14, 3) = "México" And Cells(15, 3) = "Latinoamérica y el Caribe" Then
On Error Resume Next
    Sheets("PFM Latam").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PI Mundial para Latinoamérica
Else
If Cells(8, 4) = "" And Cells(14, 3) = "Resto de latinoamérica" And Cells(15, 3) = "Mundial" Then
On Error Resume Next
    Sheets("PI Mundial").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PI Latam para Latinoamérica
Else
If Cells(8, 4) = "" And Cells(14, 3) = "Resto de latinoamérica" And Cells(15, 3) = "Latinoamérica y el Caribe" Then
On Error Resume Next
    Sheets("PI Latam").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PF Mundial para Latinoamérica
Else
If Cells(8, 4) <> "" And Cells(14, 3) = "Resto de latinoamérica" And Cells(15, 3) = "Mundial" Then
On Error Resume Next
    Sheets("PF Mundial").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
'PF Latam para Latinoamérica
Else
If Cells(8, 4) <> "" And Cells(14, 3) = "Resto de latinoamérica" And Cells(15, 3) = "Latinoamérica y el Caribe" Then
On Error Resume Next
    Sheets("PF Latam").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=ruta & Trim(Cells(6, 2)) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End If
End If
End If
End If
End If
End If
End If
Else
MsgBox "Falta ingresar tratamiento, país de residencia  y/o región de cobertura.", vbCritical, "Mensaje de error"
End If
End Sub

Te regreso el archivo con el nuevo botón, con este botón no deberías tener problemas en las máquinas.

https://www.dropbox.com/s/vftbi89vb8sp66k/Cotizador%20AWC%20dam.xlsm?dl=0 

Si no requieres más información, podrías valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas