Visual Basic para Aplicaciones - Formulario: Botón cargar datos

Life is soft - evento anual de software empresarial
 
Vista:

Formulario: Botón cargar datos

Publicado por Carlos (3 intervenciones) el 09/01/2019 17:51:19
Hola, comunidad, en un xls he creado un formulario con su muchos TextBox por cada datos que quiero ingresar. El formulario funciona bien carga los datos, pero lo que no logró entender es como hago para que cada dato nuevo que ingrese lo ponga en la linea de abajo y no me lo sobreescriba.
A continuación copio el desarrollo que tengo, por favor me pueden guiar a como hago el próximo paso

Programación:
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
67
68
69
70
71
72
73
74
75
76
77
Private Sub TextBox1_Change()
ActiveSheet.Range("A10000").Value = TextBox1
End Sub
 
Private Sub TextBox10_Change()
ActiveSheet.Range("K10000").Value = TextBox10
 
End Sub
 
Private Sub TextBox11_Change()
ActiveSheet.Range("l10000").Value = TextBox11
End Sub
 
Private Sub TextBox13_Change()
ActiveSheet.Range("M10000").Value = TextBox13
End Sub
 
Private Sub TextBox14_Change()
ActiveSheet.Range("N10000").Value = TextBox14
End Sub
 
Private Sub TextBox15_Change()
ActiveSheet.Range("O10000").Value = TextBox15
End Sub
 
Private Sub TextBox16_Change()
ActiveSheet.Range("P10000").Value = TextBox16
End Sub
 
Private Sub TextBox17_Change()
ActiveSheet.Range("Q10000").Value = TextBox17
End Sub
 
Private Sub TextBox18_Change()
ActiveSheet.Range("S10000").Value = TextBox18
End Sub
 
Private Sub TextBox19_Change()
ActiveSheet.Range("T10000").Value = TextBox19
End Sub
 
Private Sub TextBox2_Change()
ActiveSheet.Range("B10000").Value = TextBox2
End Sub
 
Private Sub TextBox20_Change()
ActiveSheet.Range("U10000").Value = TextBox20
End Sub
 
Private Sub TextBox3_Change()
ActiveSheet.Range("c10000").Value = TextBox3
End Sub
 
Private Sub TextBox4_Change()
ActiveSheet.Range("d10000").Value = TextBox4
End Sub
 
Private Sub TextBox5_Change()
ActiveSheet.Range("e10000").Value = TextBox5
End Sub
 
Private Sub TextBox6_Change()
 
ActiveSheet.Range("f10000").Value = TextBox6
End Sub
 
Private Sub TextBox7_Change()
ActiveSheet.Range("g10000").Value = TextBox7
End Sub
 
Private Sub TextBox8_Change()
ActiveSheet.Range("h10000").Value = TextBox8
End Sub
 
Private Sub TextBox9_Change()
ActiveSheet.Range("j10000").Value = TextBox9
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 Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Formulario: Botón cargar datos

Publicado por Antoni Masana (498 intervenciones) el 10/01/2019 10:11:07
En primer lugar deberías modificar lo datos y guardarlos el pulsar un botón de GUARDAR.
Este busca cual es la primera línea vacía y guarda todos los datos.

Otra opción es que cada columna se llene a su ritmo, cosa que no entiendo pero vale aceptemoslo entonces y para no repetir código cada TextBox llama a una rutina diciendo la columna y el valor a guardar y esta busca la primera celda libre de la columna y guarda.

Solución para el segundo Caso:

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
Private Sub TextBox1_Change();  Call Copiar_Valor("A", TextBox1.Text );  End Sub
Private Sub TextBox2_Change();  Call Copiar_Valor("B", TextBox2.Text );  End Sub
Private Sub TextBox3_Change();  Call Copiar_Valor("c", TextBox3.Text );  End Sub
Private Sub TextBox4_Change();  Call Copiar_Valor("d", TextBox4.Text );  End Sub
Private Sub TextBox5_Change();  Call Copiar_Valor("e", TextBox5.Text );  End Sub
Private Sub TextBox6_Change();  Call Copiar_Valor("f", TextBox6.Text );  End Sub
Private Sub TextBox7_Change();  Call Copiar_Valor("g", TextBox7.Text );  End Sub
Private Sub TextBox8_Change();  Call Copiar_Valor("h", TextBox8.Text );  End Sub
Private Sub TextBox9_Change();  Call Copiar_Valor("j", TextBox9.Text );  End Sub
Private Sub TextBox10_Change(); Call Copiar_Valor("K", TextBox10.Text);  End Sub
Private Sub TextBox11_Change(); Call Copiar_Valor("l", TextBox11.Text);  End Sub
Private Sub TextBox13_Change(); Call Copiar_Valor("M", TextBox13.Text);  End Sub
Private Sub TextBox14_Change(); Call Copiar_Valor("N", TextBox14.Text);  End Sub
Private Sub TextBox15_Change(); Call Copiar_Valor("O", TextBox15.Text);  End Sub
Private Sub TextBox16_Change(); Call Copiar_Valor("P", TextBox16.Text);  End Sub
Private Sub TextBox17_Change(); Call Copiar_Valor("Q", TextBox17.Text);  End Sub
Private Sub TextBox18_Change(); Call Copiar_Valor("S", TextBox18.Text);  End Sub
Private Sub TextBox19_Change(); Call Copiar_Valor("T", TextBox19.Text);  End Sub
Private Sub TextBox20_Change(); Call Copiar_Valor("U", TextBox20.Text);  End Sub
 
 
Private Sub Copiar_Valor(COL As String, Valor)
    Dim Fila as Long
    Fila = 2
    With ActiveSheet
        While .Range(Col & Fila) <> ""
            Fila = Fila + 1
        Wend
        .Range(Col & Fila).Value = Valor
    End With
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Formulario: Botón cargar datos

Publicado por Carlos (3 intervenciones) el 10/01/2019 13:58:34
Hola, Antoni, lo estuve probando y funcionó. gracias.
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