Clase en vivo privada este sábado 25 de octubre de 2025. Clic aquí.
Cursos Clases en vivo Foro Ranking estudiantes Blog
Iniciar sesión Inscribirme

Es necesario estar inscrito para dejar tu duda, comentario y/o respuesta

Todo

Sin respuesta

Solo preguntas

Excel

Power BI

Power Query

Power Pivot

DAX

Macros VBA

SQL

Comentarios en clases

Javierr publicó en la clase Instrucción Set: Lista de validación hace 4 meses

Hola sergio 
si tengo un rango por ejemplo de 7 columnas y en las filas varian en numero
quiero encontrar on texto especifico y seleccionar  las 7 columnas y ese texto encontrado quiero moverlo 3 o 4 columnas abajo despues de la ultima fila 
que funcion podria utilizar  o como podria hacerlo
muchas gracias
  
   

Respuestas

JuliaBravo490 respondió hace hace 4 meses:

Hola, Álvaro.

Prueba con este código y nos dejas saber si es lo que buscas:

Sub Buscar_Mover_Fila_Dinamico()
    Dim ws As Worksheet
    Dim RangoBuscar As Range
    Dim celdaEncontrada As Range
    Dim ultimaFila As Long
    Dim ultimaColumna As Long
    
    Set ws = ThisWorkbook.Sheets("Hoja1") ' Ajusta el nombre de la hoja
    
    ' Detectar automáticamente el rango utilizado en la hoja. En caso de que no quieras limitarlo solo a 7 columnas
    ultimaFila = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Última fila con datos
    ultimaColumna = ws.Cells.Find("*", LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column ' Última columna con datos
    
    Set RangoBuscar = ws.Range(ws.Cells(1, 1), ws.Cells(ultimaFila, ultimaColumna)) ' Rango dinámico
    
    ' Buscar el texto específico
    Set celdaEncontrada = RangoBuscar.Find(What:="TextoEjemplo", LookAt:=xlWhole) ' Reemplaza el texto buscado o usa una celda para tomar el dato
    
    If Not celdaEncontrada Is Nothing Then
        ' Encontramos el texto, seleccionamos la fila completa
        ultimaFila = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Detecta la última fila con datos
        celdaEncontrada.EntireRow.Copy
        ws.Cells(ultimaFila + 3, 1).PasteSpecial xlPasteValues ' Mueve la fila 3 filas abajo
        MsgBox "Texto encontrado y movido correctamente"
    Else
        MsgBox "Texto no encontrado"
    End If
    
    Application.CutCopyMode = False
End Sub


Será un gusto saber si esto te ayuda. Adapta el código según tu necesidad.

Saludos,
Julia
Equipo DEZTACA

Cursos Foro Clase en vivo Validar certificado Iniciar sesión Inscribirme Términos y condiciones
Facebook Instagram Linkedin
Deztaca Experience
© 2025 © Deztaca. Todos los derechos reservados.