Excel VBA Insertar fila a través de búsqueda con TextBox y que se agregue debajo de la última fila que contiene el valor buscado

Espero me puedan ayudar. Tengo una macro que funciona a la perfección insertando una fila en una hoja a partir de un TextBox ubicado en un Formulario de otra Hoja. Mi problema radica en que por más que lo intento, no consigo que la fila se inserte debajo de la última fila encontrada con el valor buscado, siempre se coloca encima de la última. He investigado mucho sobre esto pero nada de lo que pruebo me funciona. Aquí agrego mi macro. De antemanos, muchas gracias.

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False

Set h = Sheets("BASE DE DATOS GENERAL")
h.Select
Set b = Range("C:C").Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole, SearchDirection:=xlPrevious)

If h.FilterMode Then h.ShowAllData
If MsgBox("¿DESEA INSERTAR FILA?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If

If Not b Is Nothing Then
b.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If

Unload Me

End Sub

1 respuesta

Respuesta
3

Como mencionas: '... debajo de la última fila encontrada con el valor buscado,...' entiendo que habrá más de una fila con ese dato buscado.

Si esto es así, necesitas hacer una búsqueda siguiente con el método FINDNEXT.

Dejé el paso a paso en el video Nº 23 de mi canal.

Puede buscarse un segundo criterio (como en el ejemplo) o el mismo como sería en tu caso. Y recién allí te dará la última fila.

https://www.youtube.com/watch?v=BRQyf9lVccQ&list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&index=63 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas