Icono del sitio Desafiando Excel

Crear hojas por cada valor de un rango en Excel (macro)

Crear hojas por cada valor de un rango en Excel (macro)

¿Cómo podemos crear hojas por cada valor de un rango mediante el uso de macros en Excel?

La siguiente macro nos permite generar distintas hojas con nombres en base a un rango seleccionado.

La instrucción a copiar dentro de un nuevo módulo de vba es la siguiente:

 

CREAR HOJAS POR CADA VALOR DE UN RANGO EN EXCEL

Sub CrearHojasPorValor()

    Dim celda As Range
    Dim rango As Range
    Dim dict As Object
    Dim nombreHoja As String
    Dim sh As Worksheet
    Dim existe As Boolean
    
    If TypeName(Selection) <> "Range" Then
        MsgBox "Seleccioná celdas con datos primero.", vbExclamation
        Exit Sub
    End If
    
    Set rango = Selection
    
    If WorksheetFunction.CountA(rango) = 0 Then
        MsgBox "La selección está vacía. Seleccioná celdas con datos.", vbExclamation
        Exit Sub
    End If
    
    Set dict = CreateObject("Scripting.Dictionary")
    
    For Each celda In rango
    
        nombreHoja = Trim(celda.Value)
        
        If nombreHoja <> "" Then
        
            If Not dict.exists(nombreHoja) Then
                dict.Add nombreHoja, 1
                
                existe = False
                
                For Each sh In ThisWorkbook.Worksheets
                    If sh.Name = nombreHoja Then
                        existe = True
                        Exit For
                    End If
                Next sh
                
                If Not existe Then
                    Sheets.Add(After:=Sheets(Sheets.Count)).Name = nombreHoja
                End If
            
            End If
        
        End If
    
    Next celda

End Sub

 

Notar que nombramos a la macro «CrearHojasPorValor».

De esta forma logramos crear hojas por cada valor de un rango de forma rápida y fácil mediante macros en Excel.

 

Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.

¿No sabés como instalar esta macro? ¡No te preocupes!  Aquí está la solución:

Salvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores. 

Salir de la versión móvil