Formulario con error 424

7 envíos / 0 nuevos
Último envío
DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 1 día 3 horas
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 688
Formulario con error 424

Un favor me puedes ayudar en la correcion de este libro de vba

lleno el formulario pero en el promedio me sale 0 no un resultado como se ve en las imagenes.

Sale en el 2 un mensaje de error 424

Formulario introducción de datos

 

error al calcular la media

error 424

 

cuando veo en depurar sale una linea amarilla y no se en que falle.

código

 ELSE

codigo

 

 

y una pregunta despues quiero darle una condicion si de la respuesta que me da el promedio si es bueno regular o malo donde lo pondria gracias!

AdjuntoTamaño
Image icon codigo02.png154.78 KB
Image icon 1.jpg54.23 KB
Image icon 2.jpg9.89 KB
Image icon 3.jpg130.54 KB
Image icon codigo01.png155.21 KB

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 3 horas 46 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 8115
Re: Formulario con error 424
Tienes que decirle a Excel dónde está cada variable.
Cuando calculas la media, le estás diciendo que opere con txtnota1, txtnota2,... pero salvo que tú se lo digas, Excel no va a suponer que te refieres al cuadro de texto del formulario txtnota1. Seguramente está interpretándolo como una variable txtnota1, que como no está definida en ningún sitio, la considera como 0.
 
Indícaselo escribiéndolo de esta manera (lo tienes así en otras partes del código)
 
FRMINGRESODATOS.TXTNOTA1
 
 
Respecto del error 404, pues lo mismo, salvo que se lo digas explícitamente, no sabe que con foto te refieres al control del formulario.
de todos modos, tampoco puedes establecer la propiedad picture a Nothing, porque eso de Nothing se utiliza aplicado a variables de objetos, mientras que Picture es una propiedad de ese control imagen, vamos que es un texto.
Prueba a cambiar la propiedad a ""
 
FRMINGRESODATOS.foto.Picture=""

 

Data Tools Suite
datos y tablas con Excel

DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 1 día 3 horas
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 688
Re: Formulario con error 424
Este codigo funciona para la foto que tengo en una carpeta
 

Private Sub NOMBRE_Change()

If NOMBRE = "" Then Exit Sub
    FRMINGRESODATOS.foto.Picture = Nothing
    On Error Resume Next 'en caso de error continuar en la siguiente linea
    FRMINGRESODATOS.foto.Picture = LoadPicture(ActiveWorkbook.Path & "\" & NOMBRE & ".jpg")
End Sub
 
pero como hago cuando pongo un nombre y la foto no existe o que el nombre existe pero de casualidad la foto fue eliminado.
Como hago esto
 
NOTA FINAL EN CASO KISIERA MOSTRAR MENSAJE EN CASO NO HALLA FOTO
On error resumen next
Err=0
Foto.Picture=……..
If Err>0 THen msgbox “NO HAY FOTO”
 
 
en la imagen FRMINGRESODATOS cree un frame que indica el equipo favorito pero cuando yo activo una de las casillas
HACIENDO UN CHECK quisiera que me aparesca en la hoja de excel  como seria el codigo de ambos gracias!!!
 
 

Sub IngresarInformacion()

 Dim n As Long

Dim PROM As Double

Hoja1.Select

    PROM = (Val(FRMINGRESODATOS.TXTNOTA1) + Val(FRMINGRESODATOS.TXTNOTA2) + Val(FRMINGRESODATOS.TXTNOTA3) + Val(FRMINGRESODATOS.TXTNOTA4)) / 4

 n = 4

    Do While (Cells(n, 2) <> Empty Or Cells(n, 3) <> Empty Or Cells(n, 4) <> Empty Or Cells(n, 5) <> Empty Or Cells(n, 6) <> Empty Or Cells(n, 7) <> Empty Or Cells(n, 11) <> Empty Or Cells(n, 12) <> Empty Or Cells(n, 13) <> Empty Or Cells(n, 14) <> Empty Or Cells(n, 15) <> Empty)

    n = n + 1

    Loop

    If (FRMINGRESODATOS.rbtSI.Value = True Or FRMINGRESODATOS.rbtNO.Value = True) Then

     Cells(n, 2).Value = FRMINGRESODATOS.TXTAPELLIDOS.Text

        Cells(n, 3).Value = FRMINGRESODATOS.NOMBRE.Text

        Cells(n, 4).Value = FRMINGRESODATOS.TXTEDAD.Text

        Cells(n, 5).Value = FRMINGRESODATOS.TXTDNI.Text

        Cells(n, 6).Value = FRMINGRESODATOS.TXTPAIS.Text

        Cells(n, 7).Value = FRMINGRESODATOS.TXTDIRECCION.Text

        Cells(n, 11).Value = FRMINGRESODATOS.TXTNOTA1.Text

        Cells(n, 12).Value = FRMINGRESODATOS.TXTNOTA2.Text

        Cells(n, 13).Value = FRMINGRESODATOS.TXTNOTA3.Text

        Cells(n, 14).Value = FRMINGRESODATOS.TXTNOTA4.Text

        Cells(n, 15).Value = PROM

          If FRMINGRESODATOS.rbtSI.Value = True Then

            Cells(n, 8).Value = "SI"

            FRMINGRESODATOS.rbtSI.Value = False

        Else

            If FRMINGRESODATOS.rbtNO.Value = True Then

                Cells(n, 8).Value = "NO"

                FRMINGRESODATOS.rbtNO.Value = False

            End If

    End If

    If (FRMINGRESODATOS.rbtM.Value = True Or FRMINGRESODATOS.rbtF.Value = True) Then

        If FRMINGRESODATOS.rbtM.Value = True Then

            Cells(n, 9).Value = "Masculino"

            FRMINGRESODATOS.rbtM.Value = False

        Else

            If FRMINGRESODATOS.rbtF.Value = True Then

                Cells(n, 9).Value = "Femenino"

                FRMINGRESODATOS.rbtF.Value = False

 End If

    End If

    If (FRMINGRESODATOS.OptionButton1.Value = True Or FRMINGRESODATOS.OptionButton2.Value = True) Then

        If FRMINGRESODATOS.OptionButton1.Value = True Then

            Cells(n, 10).Value = "SI"

            FRMINGRESODATOS.OptionButton1.Value = False

        Else

            If FRMINGRESODATOS.OptionButton2.Value = True Then

                Cells(n, 10).Value = "NO"

                FRMINGRESODATOS.OptionButton2.Value = False

            End If

    End If

       

        FRMINGRESODATOS.TXTAPELLIDOS.Text = ""

        FRMINGRESODATOS.NOMBRE.Text = ""

        FRMINGRESODATOS.TXTEDAD.Text = ""

        FRMINGRESODATOS.TXTDNI.Text = ""

        FRMINGRESODATOS.TXTPAIS.Text = ""

        FRMINGRESODATOS.TXTDIRECCION.Text = ""

        FRMINGRESODATOS.TXTNOTA1.Text = ""

        FRMINGRESODATOS.TXTNOTA2.Text = ""

        FRMINGRESODATOS.TXTNOTA3.Text = ""

        FRMINGRESODATOS.TXTNOTA4.Text = ""

        FRMINGRESODATOS.foto.Picture = Nothing

       

        MsgBox "Ha ingresado un registro con éxito en la fila número " & n & ".", vbInformation + vbOKOnly, "Información de registro."

       

        FRMINGRESODATOS.TXTAPELLIDOS.SetFocus

       

    Else

        MsgBox "Debe seleccionar una opción." & vbCrLf & "Para el trabajo actual", vbCritical + vbOKOnly, "Alerta..."

    End If

    End If

    End If

End Sub

 

 
 
AdjuntoTamaño
Image icon frmingresardato.jpg43.45 KB
Image icon frmingresodatos.jpg216.71 KB

 

-----

Esta duda fue enviada por email a través de la página de contacto del sitio.

Se plantea en el foro a través de esta cuenta de usuario genérica para hacerela pública,

por si puede ser de ayuda a alguien más.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 3 horas 46 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 8115
Re: Formulario con error 424
Para saber si un archivo existe o no, puedes utilizar la función Dir. Pásale como argumento la ruta completa hasta el archivo.
 
No entiendo qué quieres hacer con el equipo favorito.

 

Data Tools Suite
datos y tablas con Excel

DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 1 día 3 horas
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 688
ejemplo funcion DIR
hola me podrias mostrar como seria la funcion Dir como argumento
 
 
tal como lo hice en estudiantes parecido pero quiero agregar el equipo favorito a excel no se como es el codigo si activo uno de los equipos que me aparesca en la celda de excel como en la imagen
 
AdjuntoTamaño
Image icon 1.jpg16.52 KB
Image icon 3.jpg42.87 KB

 

-----

Esta duda fue enviada por email a través de la página de contacto del sitio.

Se plantea en el foro a través de esta cuenta de usuario genérica para hacerela pública,

por si puede ser de ayuda a alguien más.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 3 horas 46 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 8115
Re: ejemplo funcion DIR

Hola Víctor:

respecto de la función DIR
 
esta función utiliza como argumento una ruta
si el archivo de la ruta especificada existe, te devuelve el nombre del archivo.
Si el archivo no existe, devuelve una cadena vacía,
Así que para saber si un archivo existe o no puedes hacer lo siguiente:
 
    If Dir(ruta) = "" Then
        ' no existe
    Else
       'sí existe
    End If
 
Respecto de los equipos, esas opciones entiendo que son excluyente, o un equipo o el otro, pero no varios a la vez
yo utilizaría botones de opción en vez de casillas de validación, así automáticamente se desmarca una opción al elegir otra.
 
En cualquier caso, tienes que comprobar qué opción está elegida, para eso utiliza la propiedad .Value del botón de opción o de la casilla de verificación
Tendrás que hacerlo por ejemplo con un IF
 
    If Me.OptionButton1.Value = True Then
     '...
    ElseIf Me.OptionButton2.Value = True Then
     '...
    ElseIf Me.OptionButton3.Value = True Then
     '...
    Else
     '...
    End If
 
en cada caso anotas el equipo que corresponda en la celda adecuada igual que se anotan el resto de valores en la hoja.

 

Data Tools Suite
datos y tablas con Excel

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 3 meses 2 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 2695
Re: Formulario con error 424

Aqui parece que la libreria referente a picture no la esta reconociendo, ¿porque? talves la tengas en Windows/system32 o Windows syswow64 segun la plataforma que tengas de SO

Si tu plataforma de Windows es la que sea 86 o 64, esta bien pero si TU OFFICE ES X64 tienes problemas una ves que este no reconoce las librerias que no son nativas de office 2010-2013.

aunque las tyengas registradas en su directorio adcuado.

Tienes que tener la plataforma x86 de office para que te las reconozca. Ahi lo que te esta diciendo es que ol objecto Picture no existe