Visual Basic para Aplicaciones - COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Andres
Val: 26
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Publicado por Andres (14 intervenciones) el 06/02/2019 18:03:47
NECESITO APOYO PARA REALIZAR UNA RUTINA DE ELIMINAR Y MODIFICAR REGISTROS EN PROGRAMACIÓN VISUAL BASIC PARA EXCEL. EN EL FMR_VERREG ESTOY DESARROLLANDO UNA VENTANA QUE ME CARGUE LOS DATOS DE UN REGISTRO EN UN LISTBOX Y QUE AL MARCARLO Y DARLE CLIP SE DESPLIEGUEN TODOS LOS DATOS DE ESE REGISTRO EN PARTICULAR, PARA PODER ELIMINARLO O MODIFICARLO SEGÚN SEA EL CASO. ANEXO EL CÓDIGO QUE HE REALIZADO HASTA HOY PERO QUE NO ME FUNCIONA, Y EL PROGRAMA QUE ESTOY ELABORANDO PARA QUE LO CORRAN Y ME AYUDEN A CORREGIRLO. GRACIAS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Private Sub Btn_Elimina_Click()
    Dim Fila As Integer
    Dim Final As Integer
 
    If Me.Buscar_List.ListIndex = -1 Then
        MsgBox "Debe seleccionar un registro"
        Exit Sub
    End If
 
    'Buscamoos la última fila
    Fila = 2
    Do While Hoja2.Cells(Fila, 1) <> ""
        Fila = Fila + 1
    Loop
 
    Final = Fila - 1
 
    If MsgBox("¿Seguro que quiere eliminar este Registro?", vbQuestion + vbYesNo) = vbYes Then
 
        For Fila = 2 To Final
            If Hoja2.Cells(Fila, 1) = xEmpleado Then
                Hoja2.Cells(Fila, 1).EntireRow.Delete
                Exit For
            End If
        Next
        Call UserForm_Initialize
        MsgBox "Registro eliminado", vbInformation + vbOKOnly
 
    Else
        Exit Sub
 
    End If
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Publicado por MIGUEL (121 intervenciones) el 07/02/2019 04:40:17
Te dejo el archivo modificado (la neta se me olvido agregar el codigo para limpiar los texbox) me.texbox1="" asi con cada texbox que quieras que se limpie al final del codigo y ya quedo

Espero te sirva

SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Andres
Val: 26
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Publicado por Andres (14 intervenciones) el 07/02/2019 21:19:42
Miguel de verdad mil Gracias por tu colaboración. Voy a probarlo y te digo cualquier cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres
Val: 26
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Publicado por Andres (14 intervenciones) el 09/02/2019 13:21:28
BUENOS DÍAS MIGUEL: EL CÓDIGO QUE ME ENVIASTE ME RESULTÓ EXCELENTE. GRACIAS. DOS PREGUNTAS.
1. SI QUIERO BUSCAR UN RANGO DE FECHA POR EJEMPLO: DESDE 1997 HASTA 2018, COMO LO HARÍA?
2. YO LE COLOQUE UNA VENTANA DE INICIO CON CONTRASEÑA frm_Login, Y UN ESCRITORIO DE TRABAJO frm_Menu. Y DEBEN TRABAJAR ASÍ: AL INICIAR EL SOFTWARE DEBE SOLICITAR LA CONTRASEÑA, UNA VEZ EVALUADA LA CONTRASEÑA DEBE ENVIARME AL FORMULARIO frm_Menu QUE VA A FUNCIONAR COMO UN ESCRITORIO DE TRABAJO DEBE PERMANECER SIEMPRE ABIERTO HASTA QUE SE LE DE SALIR.
UNA VEZ EN EL PULSANDO EL BOTON Btn_Ingresar DEBE ABRIR EL FORMULARIO fmr_Ingreso EL CUAL PERMANECE ABIERTO MIENTRAS TRABAJO PERO AL DARLE SALIR DEBE CERRARSE Y REGRESAR AL FORMULARIO frm_Menu Y ESPERAR NUEVA INSTRUCCIÓN.

GRACIAS POR TU AYUDA...
ANEXO EL SOFTWARE
ANDRÉS ÁLVAREZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Publicado por MIGUEL (121 intervenciones) el 11/02/2019 02:59:29
Buenos Dias Andres

Una observación, espero no me lo tomes a mal, deberías de poner mas atención a la hora de escribir el código, este esta bien solo que en el formulario de login le indicas que debe buscar la tabla de usuarios en la hoja6 cuando la tabla esta en la hoja8, los datos de los logins le indicabas que los anotara en la Hoja8 cuando deberia de ser la Hoja9, por estos "pequeños" detalles no funcionaba al querer ingresar con las contraseñas, te dejo el archivo ya corregido, la forma para llamar al fmr_Ingreso es la misma que con la que llamas al frm_menu en el frm_Login, en si todo lo tienes bien pero me imagino que no lograbas llamarlo por que a la mejor te confundías con los nombres de los formularios por ejemplo unos son frm y otros fmr, no note algún otro error.

La forma en que yo prefiero filtrar las fechas es la siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'ejemplo para agregar las fechas dentro de un rango de fechas a un combobox
sub filtrarFecha()
Dim fechaIni as string
Dim fechaFin as string
Dim fecha as string
Dim ultFila as Long
Dim f as Long
 
ultFila = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
fechaIni = "01/01/1997"
fechaFin = "31/12/2018"
f = 1
 
Do While f < ultFila + 1
      fecha = Hoja1.Cells(f,1)
      If DateValue(fecha)  >= DateValue(fechaIni) And DateValue(fecha) <= DateValue(fechaFin) Then
             frmFiltro.Combobox1.AddItem Hoja1.Cells(f,1)
             f = f + 1
      Else
             f = f + 1
      End If
Loop
End Sub

Ya solo hay que adecuarla a las necesidades de cada quien

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres
Val: 26
Ha aumentado su posición en 3 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

COMO CREAR UNA RUTINA DE ELIMINACIÓN EN VISUAL BASIC PARA EXCEL

Publicado por Andres (14 intervenciones) el 13/02/2019 17:21:51
HOLA MIGUEL EXCELENTE. GRACIAS. NO HABÍA VISTO ESTE MENSAJE Y TE LO ENVIÉ DE NUEVO. PERDONA...
ESTA MUY BIEN TU OBSERVACIÓN. LO QUE PASA ES QUE INTENTO TANTAS VECES CORREGIR LOS ERRORES Y CAMBIO LAS COSAS Y LUEGO NO ME DOY CUENTA DE LO QUE HAGO....
UN MILLÓN AMIGO

ANDRÉS ÁLVAREZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar