Visual Basic - CODIGO EN VBEXCEL

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

CODIGO EN VBEXCEL

Publicado por hernan (3 intervenciones) el 30/07/2018 17:15:24
Hola a todos

deseo saber que hace el siguiente codigo en mi archivo de excel, me ayudan a identificar que hace cada linea por favor:

1
2
3
4
5
6
7
8
9
10
11
Sub Encontrar()
Dim h
For i = 6 To 19
If ComboBox2 = Sheets(ComboBox1.Text).Cells(i, 8) Then
Final = i
Exit For
End If
Next
h = TextBox5.Value + 9
Sheets(ComboBox1.Text).Cells(Final, h) = CDbl(TextBox4)
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.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

CODIGO EN VBEXCEL

Publicado por Antoni Masana (558 intervenciones) el 30/07/2018 20:19:51
Compara el elemento seleccionado en el ComboBox2 con las celdas de la fila 6 a la 19 de la columna H de la hoja que marque la selección del ComboBox1, Si lo encuentra guarda la fila en Final

Suma 9 al contenido del TextBox5 y lo guarda en H.

Y según los valores de referencia para la celda de la columna para el valor de H y y de fila para el valor de FINAL guarda el contenido de TextBox4.

1
2
3
4
5
6
7
8
9
10
11
Sub Encontrar()
    Dim h
    For i = 6 To 19
        If ComboBox2 = Sheets(ComboBox1.Text).Cells(i, 8) Then
            Final = i
            Exit For
        End If
    Next
    h = TextBox5.Value + 9
    Sheets(ComboBox1.Text).Cells(Final, h) = CDbl(TextBox4)
End Sub

No tengo ninguna idea que que tipo de utilidad puede tener esto.
De si funciona bien o mal pero ya que preguntas esta macro es una gran chapuza.

Lo más correcto seria esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Encontrar()
    Dim i as Integer, h As Long, Final as Integer
 
    Final = 0
    For i = 6 To 19
        If ComboBox2 = Sheets(ComboBox1.Text).Cells(i, 8) Then Final = i: Exit For
    Next
 
    If Final > 0 tHEN
        h = TextBox5.Value + 9
        Sheets(ComboBox1.Text).Cells(Final, h) = CDbl(TextBox4)
    End If
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
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

CODIGO EN VBEXCEL

Publicado por Hernán Agudelo (3 intervenciones) el 30/07/2018 22:33:35
Hola Antoni, ese codigo hace parte de un archivo que encontre en internet para realizar el control de ciertos datos Como gastos, movimientos y muchos otros datos para un camión de carga, y lo ejecute con f8 para ver que hace cada linea y en estas me habia quedado, pues no he logrado identificar muy bien lo que hace, pues necesito hacerle algunos cambios.
Gracias por tu aclaración y tu aporte, voy a ensayar y luego coment are si me sirvio.

Nuevamente gracias por tu respuesta.
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
sin imagen de perfil
Val: 6
Ha disminuido su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

CODIGO EN VBEXCEL

Publicado por Hernan Agudelo (3 intervenciones) el 31/07/2018 13:14:26
Antoni Masana, ya cambie el código y funciona perfectamente, muchas gracias por tu colaboración.
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