¿Qué hay mal en mi código? ¿No reconoce valores?

Private Sub buscar_m_Click()
Range("g5").Select
f = 5
a = 0
Do While Cells(f, 1) <> ""
If numero_m = Selection.Offset(0, 6) Then
a = a + 1
GoTo salto
Else
a = a
End If
salto:
Range("a3").Select
f = f + 1
Loop
MsgBox a & " veces facturada."
End Sub

1 Respuesta

Respuesta
2

Puedes explicar qué necesitas hacer.

En tu código tienes esto: numero_m . Es una variable o un control de un userform, ¿cómo un textbox?

Otro detalle que veo en tu macro es que seleccionas la celda "A3", incrementas f, pero sigue seleccionada la celda "A3", entonces cuando haces esta comparación

If numero_m = Selection.Offset(0, 6) Then

Siempre comparas numero_m contra la celda "G3"


Mejor explícame qué quieres hacer con algunos ejemplos y te ayudo con el código.

Tengo una planilla con artos datos desde a3 tengo el número de una máquina en la columna g y quiero saber cuantas veces se facturó una máquina en la planilla, numero_m es el número de la máquina que se ingresa en el formulario

¿El número de máquina lo tienes en la columna G?

Si es así utiliza lo siguiente:

Private Sub buscar_m_Click()
    u = Range("G" & Rows.Count).End(xlUp).Row
    cuenta = WorksheetFunction.CountIf(Range("G5:G" & u), numero_m)
    MsgBox cuenta & " veces facturada."
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas