Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Encontrar información eliminando filas

| 4 comentarios

Se buscará información de una base de datos buscando el código del alumno y se obtendrá la línea que corresponda al código para lo cual se copiará en otra hoja la base y se eliminarán filas hasta dejar solo la que contiene los datos necesarios.

Sintaxis

Application.ScreenUpdating = False
Sheets("Data").Select
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Notas").Select
Range("A5").Select
ActiveSheet.Paste

codigo = Cells(2, 2)
ult = Cells(Rows.Count, 1).End(xlUp).Row
For i = ult To 5 Step -1
If Cells(i, 1) <> codigo Then
Rows(i).Delete
End If
Next

Cells.Select
Cells.EntireColumn.AutoFit
Imagenes

Base de datos

base 300x165 Encontrar información eliminando filas

(Para mayor visualización de la imagen, hacer click en la misma)

Nota por código

nota 300x91 Encontrar información eliminando filas

(Para mayor visualización de la imagen, hacer click en la misma)

Adjunto ejemplo de Notas

 

Elaborado por: Tiffani Zambrano

4 comentarios

  1. Excelente aporte, le ha aplicado para manejar los datos de mis alumnos y me ha funcionado muy bien.

  2. Por qué la función: ult = Cells(Rows.Count, 1).End(xlUp).Row no se realiza contando de arriba hacia abajo?

    • Excelente pregunta Piero

      El problema de hacerlo de arriba hacia abajo es que si existen celdas vacías en la columna empleada, entonces no te entregará la última fila sino que se basará en el espacio en blanco encontrado.

      Si estas seguro que no hay espacios en blanco, entonces se puede usar con tranquilidad de arriba hacia abajo también.

      Saludos

  3. Buenas tardes Fernando, veo tu ejemplo y me parece fantastico, tengo un archivo con varias plantillas y una base de datos externa, no se como adicionar registros a la base de datos ya sea al principio o a la ultima fila donde tengo datos

Deja una respuesta

Los campos requeridos estan marcados con *.