Tabla de contenido
Un gran conjunto de datos puede contener varios valores basados en la misma columna. Si lo desea, puede dividir los valores de las mismas categorías (Departamento, Mes, Región, Estados, etc.) o sus preferencias en diferentes hojas de cálculo o libros de trabajo. En este artículo, voy a explicar, cómo dividir hoja de Excel en varias hojas de cálculo.
Para que esta explicación le resulte más clara, voy a utilizar un conjunto de datos de ejemplo. En el conjunto de datos hay 4 columnas que representan información sobre las ventas de diferentes meses. Estas columnas son Vendedor, Región, Mes, y Ventas .
Descargar para practicar
Dividir Hoja Excel en Varias Hojas de Trabajo.xlsmFormas de Dividir una Hoja Excel en Varias Hojas de Trabajo
1. Utilizar el filtro y la copia
Desde cualquier hoja, puede dividir los datos en varias hojas utilizando Filtro .
En primer lugar, seleccione el rango de celdas en el que desea aplicar la función Filtro .
➤Here, he seleccionado el rango de celdas B3:E15 .
A continuación, abra el Datos tab>> seleccionar Filtro .
También puede utilizar CTRL + MAYÚS + L aplicar Filtro con el teclado .
Ahora, Filtro se aplica al rango de celdas seleccionado.
A continuación, haga clic en el botón Mes ya que quiero dividir los datos en función de Mes valores.
A partir de ahí no seleccionado todo excepto Enero Por último, haga clic en OK .
Ahora, todos los valores en los que el Mes es Enero se filtran.
Entonces, Copia los datos y Pegar en la nueva hoja de cálculo.
Aquí, he llamado a la nueva hoja Enero. Así, verá toda la información de ventas de Enero se presenta aquí.
Para el resto del Meses puede seguir los mismos procedimientos.
De nuevo, haga clic en el botón Mes ya que quiero dividir los datos en función de Mes valores.
A partir de ahí desmarque todo excepto Febrero Por último, haga clic en OK .
Ahora, todos los valores de Febrero Mes se filtran.
Entonces, Copia los datos y Pegar en la nueva hoja de cálculo.
Más tarde, llamé a la nueva hoja Febrero. Así, verá toda la información sobre las ventas del Mes de Febrero se presenta aquí.
De nuevo, haga clic en el botón Mes ya que quiero dividir los datos en función de Mes valores.
A partir de ahí desmarque todo excepto Marzo Por último, haga clic en OK .
Ahora, verá todos los valores de Marzo se filtran.
Entonces, Copia los datos y Pegar en la nueva hoja de cálculo.
Al final, llamé a la nueva hoja Marzo Por lo tanto, verá toda la información de ventas de Marzo se presenta aquí.
Más información: Dividir Hoja Excel en Múltiples Hojas Basado en Filas
2. Dividir Hoja Excel Basado en el Número de Filas Usando VBA
Antes de empezar con el procedimiento, hay que recordar que hay que empezar los datos desde las primeras filas.
Ahora, abra el Desarrollador tab>> seleccionar Visual Basic
Se abrirá una nueva ventana de Microsoft Visual Basic para Aplicaciones .
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá allí.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub SplitExcelSheet_into_MultipleSheets() Dim WorkRng As Range Dim xRow As Range Dim SplitRow As Integer Dim xWs As Worksheet On Error Resume Next EcelTitleId = "Split Row Numt" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", ExcelTitleId, WorkRng.Address, Type:=8) SplitRow = Application.InputBox("Split Row Num", ExcelTitleId, 4, Type:=1) Set xWs = WorkRng.ParentSet xRow = WorkRng.Rows(1) Application.ScreenUpdating = False For i = 1 To WorkRng.Rows.Count Step SplitRow resizeCount = SplitRow If (WorkRng.Rows.Count - xRow.Row + 1) <SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1 xRow.Resize(resizeCount).Copy Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)Application.ActiveSheet.Range("A1").PasteSpecial Set xRow = xRow.Offset(SplitRow) Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
Aquí, he creado un sub-procedimiento llamado SplitExcelSheet_into_MultipleSheets .
Donde declaré un par de variables estas son WorkRng y xFila como Gama Tipo
SplitRow como Entero también xWs como Hoja de trabajo tipo.
Además, utiliza ExcelTitleId para dar la cuadro de diálogo título.
He proporcionado el número de fila dividido 4 para dividir los datos en 4 filas porque en mi conjunto de datos el Mes de Enero tiene 4 filas.
Por último, utilizó un Para bucle a SplitRow hasta que termine el rango de celdas dado.
Entonces, Guardar el código y vuelve a la hoja de cálculo.
Ahora, abra el Desarrollador tab>> De Inserte Seleccionar Botón
A cuadro de diálogo aparecerá.
Para asignar el Macro en el insertado Botón .
Seleccione SplitExcelSheet_into_Multiheets del Macro Nombre y haga clic en OK .
Basta con hacer clic en el botón Botón para ejecutar el Macro .
Ahora, un cuadro de diálogo donde puedes poner los datos gama.
➤Here, he seleccionado el rango de celdas B1:E12
A continuación, haga clic en OK .
Otro cuadro de diálogo aparecerá para mostrarle el recuento de filas seleccionadas que ya proporcionó en el código para dividir el conjunto de datos.
➤ En el código, he proporcionado 4 como Número de filas divididas
Como tengo en total 12 filas así con 4 filas habrá 3 hojas .
En Hoja1 verá los datos de las 4 primeras filas.
En Hoja2 verá los datos de las filas 5 a 8.
En Hoja3 verá los datos de las 4 últimas filas.
Más información: Excel VBA: Dividir Hoja en Múltiples Hojas Basado en Filas
Lecturas similares
- Cómo dividir la pantalla en Excel (3 maneras)
- [Fix:] Excel View Side by Side no funciona
- Cómo separar hojas en Excel (6 maneras eficaces)
- Abrir dos archivos Excel por separado (5 métodos sencillos)
- Cómo dividir una hoja de Excel en varios archivos (3 métodos rápidos)
3. Dividir Hoja Excel en Múltiples Libros Basado en Columnas
Antes de empezar con el procedimiento, hay que recordar que hay que empezar los datos desde la primera fila y la primera columna.
Ahora, abra el Desarrollador tab>> seleccionar Visual Basic
Se abrirá una nueva ventana de Microsoft Visual Basic para Aplicaciones .
Ahora, desde Inserte Seleccionar Módulo
A Módulo se abrirá allí.
A continuación, escriba el siguiente código en el archivo Módulo .
Sub SplitSheetIntoMultipleWorkbooksBasedOnColumn() Dim objWorksheet As Excel.Worksheet Dim nLastRow, nRow, nNextRow As Integer Dim strColumnValue As String Dim objDictionary As Object Dim varColumnValues As Variant Dim varColumnValue As Variant Dim objExcelWorkbook As Excel.Workbook Dim objSheet As Excel.Worksheet Set objWorksheet = ActiveSheet nLastRow =objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row Set objDictionary = CreateObject("Scripting.Dictionary") For nRow = 2 To nLastRow strColumnValue = objWorksheet.Range("C" & nRow).Value If objDictionary.Exists(strColumnValue) = False Then objDictionary.Add strColumnValue, 1 End If Next varColumnValues = objDictionary.KeysFor i = LBound(varColumnValues) To UBound(varColumnValues) varColumnValue = varColumnValues(i) Set objExcelWorkbook = Excel.Application.Workbooks.Add Set objSheet = objExcelWorkbook.Sheets(1) objSheet.Name = objWorksheet.Name objWorksheet.Rows(1).EntireRow.Copy objSheet.Activate objSheet.Range("A1").Select objSheet.PasteFor nRow = 2 To nLastRow If CStr(objWorksheet.Range("C" & nRow).Value) = CStr(varColumnValue) Then objWorksheet.Rows(nRow).EntireRow.Copy nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1 objSheet.Range("A" & nNextRow).Select objSheet.PasteobjSheet.Columns("A:D").AutoFit End If Next Next End Sub
Aquí, he creado un sub-procedimiento llamado SplitSheetIntoMultipleWorkbooksBasedOnColumn donde declaré múltiples variables.
Usé 3 PARA La 1ª PARA contará las filas desde la fila 2 hasta la última fila con valor para obtener la columna específica. He dado la instancia de "C" columna.
Puedes cambiarlo a tu caso
El 2 Para creará un nuevo libro de Excel.
El 3er Fo El bucle r copiará los datos con la misma columna "C" al nuevo libro de trabajo desde la 2ª fila hasta la última fila con valor.
Entonces, Guardar el código y vuelve a la hoja de cálculo.
Ahora, abra el Ver tab>> De Macros Seleccionar Ver macros
A cuadro de diálogo aparecerá.
Ahora, desde el Nombre de la macro seleccione el SplitSheetIntoMultipleWorkbooksBasedOnColumn seleccione también el libro de trabajo dentro de Macros en .
Por fin, Ejecutar el seleccionado Macro .
Por último, verá que se han creado 3 nuevos libros de trabajo, ya que hay 3 diferentes Meses en columna C . Libro1 para Enero .
En Libro2 para la Febrero .
En Libro3 para Marzo .
Más información: Cómo Dividir una Hoja Excel en Varias Hojas Basándose en el Valor de una Columna
Conclusión
En este artículo, he explicado 3 maneras de cómo dividir la hoja de Excel en varias hojas de trabajo. Usted puede seguir cualquiera de las formas explicadas para dividir su hoja de Excel en varias hojas de trabajo. En caso de que tenga alguna confusión o pregunta con respecto a estos métodos se puede comentar a continuación.