Colección de citas famosas - Diccionario de frases chinas - VBA ¿Cómo extraer datos no duplicados fila por fila y copiarlos a otra hoja de trabajo?

VBA ¿Cómo extraer datos no duplicados fila por fila y copiarlos a otra hoja de trabajo?

El siguiente es un ejemplo de código VBA para extraer datos únicos por fila y copiarlos a otra hoja de trabajo:

```

Sub ExtractUniqueData()

Dim wsSrc como hoja de trabajo, wsDest como hoja de trabajo

Atenuar la última fila a larga

Atenuar dict como objeto, rng como rango, celda como rango

Establecer la hoja de trabajo de origen y el destino hoja de trabajo.

Establecer wsSrc = ThisWorkbook. Hoja de trabajo("Hoja1")

Establecer wsDest = ThisWorkbook. Hoja de trabajo ("Página 2")

Determina el número de fila de la última fila de la hoja de trabajo de origen.

Última fila = wsSrc. celdas (wsSrc. RowNumber. Count, 1). final (xlArriba). Organizar

definición para crear un objeto de diccionario.

Set dict = CreateObject("Script.Dictionary")

dict.CompareMode = vbTextComp

"Are" clave de comparación que no distingue entre mayúsculas y minúsculas

Recorra cada fila de la hoja de trabajo de origen y agregue datos no duplicados al diccionario

Para cada rng en el rango wsSrc("A 1:A"& lastRow)

Si no está vacío (rng), entonces

Para cada celda en rng.cell

Si el diccionario (cell.value) no existe), entonces

dict. .item(cell.value)""

finalizará si...

siguiente celda

Finalizará si...

Siguiente rng

Copie los datos no duplicados del diccionario en la hoja de trabajo de destino

wsDest 1:A"&dict.count) = apply.transpose(clave del diccionario)

End-joiner

```

En este caso, asumimos que la columna de datos que se extraerá en la hoja de trabajo de origen es la columna "A". , leemos el libro de ejercicios.

Luego, usamos el método End(xlUp).` para determinar el número de fila de la última fila en la hoja de trabajo de origen. A continuación, creamos un objeto de diccionario y luego lo iteramos. cada fila de la hoja de trabajo de origen y agregar datos no duplicados al diccionario

Después de agregar todos los datos no duplicados, podemos copiar los valores clave en el diccionario (es decir, datos no duplicados) en la columna "A" de la hoja de trabajo de destino. Tenga en cuenta que debido a que la matriz debe organizarse horizontalmente, los valores clave en el diccionario están organizados verticalmente, por lo que utilizamos la función Transponer de la aplicación. para convertirlos en una disposición horizontal y luego copiarlos a la hoja de trabajo de destino

.