Macro Copiar Valores Únicos de una hoja a otra hoja de excel

He estado batallando con una macro. La vdd apenas me voy iniciando en esto.

Quería preguntar si existe alguna forma de que la macro permita copiar en una hoja solo los valores únicos de otra hoja dentro de un mismo libro.

El objetivo de mi libro es el siguiente:

Hoja 1) Concentrar los nombres de mis alumnos con las distintas materias aprobadas y su calificación

Hoja 2) Concentrar un Listado de nombres de alumnos provenientes de la Hoja 1 (Es donde aplicaría la macro)

Hoja 3) Copiar el Listada de nombre de los alumnos y realizar el promedio (calificación global)

1 Respuesta

Respuesta
4

Te dejo una macro a la que tenés que ajustar referencias de fila y col ya que no comentaste dónde están ubicados tus datos. Si te ofrece alguna dificultad aclarame esos detalles para pasarte la macro ajustada.

Entra al Editor de macros (con Alt y F11), inserta un módulo y allí copia lo siguiente:

Sub listaUnicos()
'x Elsamatilde
'copia lista de col D de hoja principal a partir de fila 2 - AJUSTAR
    Range("D2:D" & Range("D" & Rows.Count).End(xlUp).Row).Copy
'pega en Hoja1 a partir de A2 - AJUSTAR
    Sheets("Hoja1").Select
    Range("A2").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
'quita duplicados en rango copiado
    ActiveSheet.Range("$A$2:$A$" & Range("A" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlNo
    Range("A2").Select
End Sub

Se ejecuta desde tu hoja con datos de notas ya sea colocando un botón o un atajo de teclado o desde el mismo menú Macros . Estos conceptos los tengo explicados en la sección Macros de mi sitio.

Si todo queda resuelto no olvides valorar y finalizar la consulta.

Sdos

Elsa

Hola! Muchas gracias Elsa en vdd. Ya veo un poco más la luz.

Perdona ya lo intente pero me arrojó un error. Te doy un poco más de información.

Estos son mis datos de

Nombre de Hojas (Concentrado), (Listado Alumnos) y (Desempeño)

*En la Hoja Concentrado tengo lo siguiente:

Columna A (el número), Columna B (la materia), Columna C (Nombre del Alumno) Columna D (No. de Cédula) y Columna E (Calificación). Los datos inician a partir de la Fila 2 de cada columna

*En la Hoja Listado de Alumnos está vacía ya que es en la que aplicaría la macro a partir de la Columna A2

*En la Hoja Desempeño unicamente tengo la calificación global del alumno por nombre.

Columna A (el número), Columna B (el alumno), Columna C (la calificación global que obtengo de promediar sus calificaciones de la Hoja Concentrado). Los datos inician a partir de la Fila 2 de cada columna.

Espero me puedas apoyar,

Saludos!

Esta opción está pensada para Excel 2007 en adelante que son las versiones que manejamos actualmente salvo que aclaren en la consulta alguna versión anterior.

Te dejo la macro ajustada a tus datos, respondiendo a la parte de tu consulta:

Hoja 2) Concentrar un Listado de nombres de alumnos provenientes de la Hoja 1 (Es donde aplicaría la macro)

Sub listaUnicos()
'x Elsamatilde
'copia lista de col C de hoja Concentrado a partir de fila 2
Sheets("Concentrado").Select
    Range("C2:C" & Range("C" & Rows.Count).End(xlUp).Row).Copy
'pega en hoja 'Alumnos' a partir de A2 - AJUSTAR
    Sheets("Alumnos").Select
    Range("A2").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
'quita duplicados en rango copiado
    ActiveSheet.Range("$A$2:$A$" & Range("A" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlNo
    Range("A2").Select
End Sub

Si necesitas la misma lista de valores únicos también en la hoja Calificación, solo debes ajustar la línea que dice: Sheets("Alumnos").Select colocando allí el nombre de tu otra hoja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas