Visual Basic para Aplicaciones - Ingreso de datos a una hoja activa desde un formulario con los encabezados de filas y columnas ocult

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

Ingreso de datos a una hoja activa desde un formulario con los encabezados de filas y columnas ocult

Publicado por Marcos Antonio (1 intervención) el 25/09/2019 18:35:14
He creado en la hoja activa una Base de Datos que va desde el Rango(“C24:F24”) hasta el Rango(“C94:F94”)…,que me permita ingresar varios registros de Clave de Acceso de Usuarios con el propósito de mantener los registros de usuarios activos.
También he creado un formulario, que hace que los datos se ingresen por el mismo ya que eh desactivado los Ribbon. También he ocultado los Encabezados de las Filas y Columnas, ya que si no lo hago, el sistema se carga demasiado en la memoria RAM, porque tiene 150 pestañas de hojas creadas.
El problema se da, cuando al ejecutar el formulario,…éste se presenta, ingreso los datos, pero los datos no aparecen en sus respectivas celdas de la hoja activa. Al habilitar los Encabezados de las Filas y Columnas, se ejecuta correctamente y se ingresa los datos de forma correcta.
A continuación expongo mi código, quizás para alguna modificación, o algo parecido, ya que el código está en un CommandButton y no en un Módulo público.
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
35
36
37
38
39
40
Private Sub cb_ok_Click()
Dim Mas_Datos As String
 
    Worksheets("BD_EjecutivoComercial").Activate
       Txt_NU.Text = Empty
       Txt_CCA.Text = Empty
       Txt_CCA_1.Text = Empty
       Txt_NU.SetFocus
    ActiveCell.Offset(1, 0).Activate
    Mas_Datos = MsgBox("Desea ingresar nombre y clave de acceso al usuario...?", vbYesNo + vbQuestion, "Atención...")
    If Mas_Datos = vbYes Then
        'Ocultacion de los encabezados de las columnas
        Application.ScreenUpdating = False
        Columns("H:XFD").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Selection.EntireColumn.Hidden = False
        ActiveWindow.SmallScroll Down:=9
==================================================
        'Ocultacion de los encabezados de las Filas
        Rows("141:1048576").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.EntireRow.Hidden = False
        ActiveWindow.SmallScroll Down:=-36
        Range("C3").Select       '==================================================
        'Ingreso de datos por medio del Bucle Do While
        Do While Not IsEmpty(ActiveCell)
             With ActiveCell
                ActiveCell.Offset(24, 4) = frm_ECOM.Txt_NU.Value
                ActiveCell.Offset(24, 5) = frm_ECOM.Txt_CCA.Value
                ActiveCell.Offset(24, 6) = frm_ECOM.Txt_CCA_1.Value
             End With
                    Loop
                    If Mas_Datos = vbNo Then
                        MsgBox ("Orden de Ingreso fuéron cancelados...")
                            Unload Me
                   End If
                    Application.ScreenUpdating = True
    End If
 
End Sub

Por favor…, algún código que me permita Ingresar los datos a la celda activa, pero que estén ocultos los encabezados de las Filas y las Columnas.
De antemano….Muchas Gracias…..
Adjunto imagen de la hoja activa, junto con su Formulario de ingreso.
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

Ingreso de datos a una hoja activa desde un formulario con los encabezados de filas y columnas ocult

Publicado por MIGUEL (121 intervenciones) el 25/09/2019 23:30:52
Buenas Marcos

Te dejo la macro
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Private Sub cb_ok_Click()
Dim Mas_Datos As String
Dim ultFila, f As Long
    'Worksheets("BD_EjecutivoComercial").Activate '//NOTA//supongo que aqui se tienen que grabar los datos
       'Txt_NU.Text = Empty '//NOTA//segun yo si ponemos estas lineas al principio de la macro se borra lo que
                            'esta en los textbox y ya no grabaria nada
       'Txt_CCA.Text = Empty
       'Txt_CCA_1.Text = Empty
       'Txt_NU.SetFocus
    'ActiveCell.Offset(1, 0).Activate
    '//NOTA//SI LO QUE BUSCAS ES QUE NO SE VEAN LOS DATOS PUES SOLO TIENES QUE OCULTAR TODA LA HOJA
    '//NOTA//SI NO PUES PUEDES AJUSTAR LA MACRO PARA QUE SE VEA SOLO LO QUE TU QUIERAS
    Mas_Datos = MsgBox("Desea ingresar nombre y clave de acceso al usuario...?", vbYesNo + vbQuestion, "Atención...")
    If Mas_Datos = vbYes Then
        'Ocultacion de los encabezados de las columnas
        Application.ScreenUpdating = False
        Sheets("BD_EjecutivoComercial").Activate
        Rows.EntireRow.Hidden = False
        Columns.EntireColumn.Hidden = False
        ultFila = Sheets("BD_EjecutivoComercial").Range("D" & Rows.Count).End(xlUp).Row
        'Application.ScreenUpdating = False
        'Columns("H:XFD").Select
        'Range(Selection, Selection.End(xlToRight)).Select
        'Selection.EntireColumn.Hidden = False
        'ActiveWindow.SmallScroll Down:=9
      '==================================================
        'Ocultacion de los encabezados de las Filas
        'Rows("141:1048576").Select
        'Range(Selection, Selection.End(xlDown)).Select
        'Selection.EntireRow.Hidden = False
        'ActiveWindow.SmallScroll Down:=-36
        'Range("C3").Select       '==================================================
        'Ingreso de datos por medio del Bucle Do While
        'Do While Not IsEmpty(ActiveCell)
         '    With ActiveCell
         '       ActiveCell.Offset(24, 4) = frm_ECOM.Txt_NU.Value '//NOTA//Me imagino que aqui empieza el listado de los datos y la fila 23 son los encabezados
         '       ActiveCell.Offset(24, 5) = frm_ECOM.Txt_CCA.Value
         '       ActiveCell.Offset(24, 6) = frm_ECOM.Txt_CCA_1.Value
         '    End With
         '           Loop
              If ultFila < 24 Then
                    f = 24
              Else
                    f = ultFila + 1
              End If
              Sheets("BD_EjecutivoComercial").Range("D" & f) = frm_ECOM.Txt_NU.Value
              Sheets("BD_EjecutivoComercial").Range("E" & f) = frm_ECOM.Txt_CCA.Value
              Sheets("BD_EjecutivoComercial").Range("F" & f) = frm_ECOM.Txt_CCA_1.Value
 
              Rows.EntireRow.Hidden = True '//NOTA//'aqui puedes modificar para que oculte las filas con los datos
                                           'por ejemplo Rows("24:" & f+1).EntireRow.Hidden = True
 
              Columns.EntireColumn.Hidden = True '//NOTA//aqui es donde modificas para que oculte solo las columnas que quieras
              Application.ScreenUpdating = True
              Txt_NU.Text = Empty
              Txt_CCA.Text = Empty
              Txt_CCA_1.Text = Empty
              Txt_NU.SetFocus
    Else
         '           If Mas_Datos = vbNo Then
                        MsgBox ("Orden de Ingreso fuéron cancelados...")
                            Unload Me
          '         End If
    End If
 
End Sub
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
0
Comentar