¿Cómo copiar y pegar diferentes contenidos de una tabla a varias tablas a través de la macro VBA? Como se muestra a continuación
Respuesta: Si ha creado 3 hojas hoja2, hoja3 y hoja4, puede usar el siguiente código: Sub?demo1()
Dim?d?As?Object p>
¿Atenuar?i?Como?Long
¿Atenuar?Rng?Como?Rango
¿Atenuar?Establecer?Rng?p>
¿Establecer? Rng?=?Range("A1").CurrentRegion
Set?d?=?CreateObject("scripting.dictionary")
For?i?=?2?To? Celdas(Filas.Cuenta,?" C").End(xlUp).Row
d(Celdas(i,?" C").Valor? >Siguiente
Application.ScreenUpdating?=?False
For?i?=?0?To?d.Count?-?1
Con?Rng
.AutoFilter?Filter(d.key,?"")(i)
.SpecialCells(xlCellTypeVisible).Copiar
Seleccionar?Case?Filter( d.key,?"")(i)
Caso?"Un conjunto de"
Hojas("Hoja2").Pegar?Hojas("Hoja2").Range( " A1")
Caso?"Dos grupos"
Hojas("Hoja3")."Hoja3").Rango("A1")
Caso ? "Grupo 3"
Hojas("Hoja4").Pegar?Hojas("Hoja4").Rango("A1")
Fin?Seleccionar
¿Fin?Con
Siguiente
Rng.AutoFilter
Application.ScreenUpdating?=?True
Fin?Sub
Si desea dividirlo directamente en 3 nuevos trabajos, puede usar el siguiente código
Sub?demo2()
Dim?d?As?Object
¿Dim?i?As?Long
¿Dim?Rng?As?Range
Establecer?Rng?=?Range("A1").RegiónCurrent
Set?d?=?CreateObject(" scripting.dictionary")
For?i?=?2?To?Cells(Rows.Count,?" C").End(xlUp) .Fila
d(Cells(i,?" C").Value)? =?""
Siguiente
Application.ScreenUpdating?=?False
Para?i?=?0?A?d.Count?-?1
Con?Rng
.AutoFilter??Filter(d. teclas ,?" ") (i)
.SpecialCells(xlCellTyp
eVisible).Copiar
Con?Sheets.Add
.Pegar?.Range("A1")
Fin?p>Siguiente paso
Rng.AutoFilter
Application.ScreenUpdating?=?True
¿Fin?