Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo seleccionar celdas calificadas de la hoja1 y copiar el contenido a la hoja2 usando vba?

¿Cómo seleccionar celdas calificadas de la hoja1 y copiar el contenido a la hoja2 usando vba?

La idea es descubrir dinámicamente cuántas columnas y filas hay en la hoja1, y luego determinar si las celdas de cada columna tienen un color de sombreado. Si no, cópielo, si lo tiene, omítalo. . El código VBA se puede escribir de la siguiente forma (los siguientes comentarios están marcados con símbolos de comentario y se pueden copiar y ejecutar completamente en VBA).

Subcopia celdas sin sombreado ()

Dim intCol_num%, intRow_num%, i%, intDw_a%, intShRow_num%

intCol_num = Sheets( 1). Cells(1, 100).End(xlToLeft).Column 'Encuentra el número de columna de la última columna no vacía en la hoja1

Para i = 1 a intCol_num Paso 1 'Recorre cada columna no vacía

intRow_num = Sheets(1).Range("a65536").End(xlUp).Row 'Encuentra la fila de la última celda no vacía desde la fila 65536 hacia arriba en la columna actualmente enlazada al No.

For Each run In Sheets(1).Range(Sheets(1).Cells(1, i), Sheets(1).Cells(intRow_num, i)) 'Recorre las columnas actualmente enlazadas a no -celda vacía

intDw_a = ran.Interior.ColorIndex 'Proponer el valor del índice de color de fondo de la celda actual

Si intDw_a < 0 Entonces

intShRow_num = Hojas (2 ).Cells(65536, i).End(xlUp).Row 'Encuentra el número de fila de la última celda no vacía en la columna correspondiente de la hoja2

Si Sheets(2).Cells(1, i).Value <> "" Entonces

ran.Copy Sheets(2).Cells(intShRow_num + 1, i)

Else

ran.Copy Sheets(2).Cells(intShRow_num, i)

Finalizar si

Finalizar si

Siguiente

Siguiente

Fin del subtítulo