Cambiar código en vba excel, en mi computadora

Me sale estos errores en excel . Tengo una computadora de 32 bit que funciona perfectamente,

Y en la otra de 64 bit que me sale estos errores

1 respuesta

Respuesta
2

Try this

#If VBA7 Or Win64 Then
    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As LongPtr, lParam As Any) As LongPtr
#Else
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
#End If

Ho la y bienvenido a TodoExpertos.

Me faltó comentar, el código puede aparecer en rojo pero no envía error.


En futuras preguntas utiliza el icono para insertar código:

 Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As LongPtr, lParam As Any) As LongPtr
 Private Const LB_SETHORIZONTALEXTENT = &H194
Private Sub cerrar_Click()
Unload Me
End Sub
Private Sub CommandButton1_Click()
Me.PrintForm
End Sub
Private Sub CommandButton2_Click()
UserForm2.Show
End Sub
 Function Aplicar_ScrollBar(ListBox As ListBox) As Long
 End Function
     Dim ret          As Long
     Dim i            As Integer
     Dim j            As Long
     Dim Ancho_Maximo As Long
     Dim Ancho_Texto  As Long
     Dim LBParent     As Object
     Set LBParent = ListBox.Parent
     Ancho_Maximo = -1
     j = -1
     For i = 0 To ListBox.ListCount - 1
         Ancho_Texto = LBParent.TextWidth(ListBox.List(i))
If Ancho_Texto > Ancho_Maximo Then
             Ancho_Maximo = Ancho_Texto + (10 * Screen.TwipsPerPixelX)
             j = i
End If
     Next
     Set LBParent = Nothing
     ' -- Establecer el Scroll
     ret = SendMessage(ListBox.hWnd, LB_SETHORIZONTALEXTENT, (Ancho_Maximo / Screen.TwipsPerPixelX), ByVal 0&)
     ' -- retornar item mas largo
     Aplicar_ScrollBar = j
 End Function
Private Sub CommandButton3_Click()
  ENVIAR_A_HOJA_RESPUESTA
End Sub
Private Sub ENVIAR_A_HOJA_RESPUESTA()
For i = 8 To 500
  Hoja3.Cells(i + 7, 1) = ""
  Hoja3.Cells(i + 7, 2) = ""
  Hoja3.Cells(i + 7, 3) = ""
Next
For i = 0 To Me.ListBox1.ListCount - 1
  Hoja3.Cells(i + 7, 1) = Me.ListBox1.List(i, 0)
  Hoja3.Cells(i + 7, 2) = UserForm2.utilizado.List(i, 0)
  Hoja3.Cells(i + 7, 3) = UserForm2.desperdicio.List(i, 0)
Next
MsgBox "EXPORTADO A EXCEL CORRECTAMENTE "
Unload Me
Hoja3.Visible = xlSheetVisible
End Sub

ya lo cambie el código, pero me sale error de compilación, no se puede encontrar el proyecto o la biblioteca por favor

Pero eso no tiene nada que ver con tu problema del inicio.


Pusiste un código con el icono para insertar el código. Pero en ese código no viene esta parte:

Combinacion = ""

En la versión de excel te FALTA una o varias bibliotecas.

Entra al menú de VBA, Herramientas, Referencias y si alguna referencia aparece con la palabra "FALTA", desmarca la casilla y vuelve a probar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas