Post Summit. Clic aquí.

días

horas

mins

segs

Cursos Clases en vivo Foro Ranking estudiantes Blog
Iniciar sesiónInscribirme

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 8 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 8 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

CursosForoClases en vivoValidar certificadoTérminos y condicionesIniciar sesiónInscribirme
© 2026 Deztaca. Todos los derechos reservados