Como lograr encontrar una fila mediante un código de VBA?

Me gustaría que un dato se guardara en la fila y columna que le indique mediante un código único, tengo un código que me guarda un dato en un combobox y luego me muestra los datos de ese combo.

Private Sub ComboBox2_Change()
Application.ScreenUpdating = False
Dim var2 As String
If ComboBox2 = "" Then
Else
CommandButton1.Locked = False
Sheets("Rinventario").Activate
If ComboBox2.ListIndex < 0 Then MsgBox ("Código no existente"), _
vbInformation, "LuffyToys": GoTo SAL
var2 = ComboBox2.Column(0)
Cells.Find(What:=ComboBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
If var2 = ActiveCell.Value Then
Combo_origen.ListIndex = 4
Combo_cantidad.ListIndex = 0
Me.txt_descuento.Text = Val(0)
Combo_estado.ListIndex = 0
If Combo_estado.ListIndex = 0 Then
Me.combo_entrega.ListIndex = 2
txt_lugar.Text = "Metro Baquedano"
End If
Me.txt_bodega = ActiveCell.Offset(0, 3)
Me.txt_sector = ActiveCell.Offset(0, 4)
txt_Nombre = ActiveCell.Offset(0, 1)
txt_monto = ActiveCell.Offset(0, 6)
txt_stock = Val(ActiveCell.Offset(0, 2))
txt_fecha.Text = Date
txt_Nombre.Locked = False
txt_fecha.Locked = False
Me.txt_bodega.Locked = False
Me.txt_sector.Locked = False
txt_stock.Locked = False
End If
End If
SAL:
Sheets("Ventas").Activate
Application.ScreenUpdating = True
End Sub

Esto me muestra en un formulario los datos que le pido gracias al filtro que realiza el combobox, lo que me gustaría hacer es guardar un dato en la misma fila(obviamente otra celda) de donde sale el dato.

1 respuesta

Respuesta
2

Te anexo el código actualizado

Cambia "Z" por la columna donde quieras poner el valor

Cambia "dato" por el valor que quieras poner en la celda

Private Sub ComboBox2_Change()
    Sheets("Rinventario").Activate
    If ComboBox2.ListIndex < 0 Then MsgBox ("Código no existente"), _
        vbInformation, "LuffyToys": GoTo SAL
    var2 = ComboBox2.Column(0)
    Cells.Find(What:=ComboBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
            xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
            , SearchFormat:=False).Activate
    If var2 = ActiveCell.Value Then
        'poner un dato en la misma fila
        fila = ActiveCell.Row
        Cells(fila, "Z").Value = "dato"
        '
        Combo_origen.ListIndex = 4
        Combo_cantidad.ListIndex = 0
        Me.txt_descuento.Text = Val(0)
        Combo_estado.ListIndex = 0
        If Combo_estado.ListIndex = 0 Then
            Me.combo_entrega.ListIndex = 2
            txt_lugar.Text = "Metro Baquedano"
        End If
        Me.txt_bodega = ActiveCell.Offset(0, 3)
        Me.txt_sector = ActiveCell.Offset(0, 4)
        txt_Nombre = ActiveCell.Offset(0, 1)
        txt_monto = ActiveCell.Offset(0, 6)
        txt_stock = Val(ActiveCell.Offset(0, 2))
        txt_fecha.Text = Date
        txt_Nombre.Locked = False
        txt_fecha.Locked = False
        Me.txt_bodega.Locked = False
        Me.txt_sector.Locked = False
        txt_stock.Locked = False
    End If
SAL:
    Sheets("Ventas").Activate
    Application.ScreenUpdating = True
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 

Al ingresar ese código, no me asigna los valores a los demás textbox.

Perdon, solucione el problema, pero el dato no se guarda en la misma columna

No sé a qué te refieres.

Solamente agregué esto a tu código:

 'poner un dato en la misma fila
        fila = ActiveCell.Row
        Cells(fila, "Z").Value = "dato"

O agrega mi código a tu código después de la línea:

If var2 = ActiveCell.Value Then

Perfecto, problema solucionado, si el valor que quier agregar es un número, como lo puedo sumar si agrego otro dato en la misma ubicación?

 Cells(fila, "Z").Value = Cells(fila, "Z").Value  + numero

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas