Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Manejo de Hojas de Excel con macros 150x130, Manejo de Hojas de Excel con macros

Manejo de Hojas de Excel con macros

| 4 comentarios

Trabajar en Excel tiene como requisito necesario un buen manejo de hojas, pues es la plataforma donde se trabaja con distintas bases de datos, gráficos, tablas, etc.

Al respecto, Visual Basic permite codificar las principales acciones para un buen manejo de hojas, que incluyen, básicamente, crear una hoja nueva, asignarle un nombre, elegir la posición de esta hoja creada, mover la hoja, ordenarla, seleccionar cualquier hoja determinada y, finalmente, eliminar una hoja.

A continuación se presentan los códigos para cada acción.

En primer lugar, asignar un nombre a la hoja activa se realiza ejecutando la macro "nombrehoja"

Sub nombrehoja()

trabajo1 = ActiveWindow.Caption
Windows(trabajo1).Activate

End Sub

nombrehoja1 300x115, Manejo de Hojas de Excel con macros

Una segunda macro permite insertar una hoja nueva antes de la hoja denominada "trabajo1"

Sub insertahoja()

ActiveWorkbook.Sheets.Add Before:=Worksheets("trabajo1")

End Sub

nombrehoja21 300x122, Manejo de Hojas de Excel con macros

Una tercera macro permitirá insertar una hoja nueva antes de la hoja última, en este caso "hoja 3". El nombre de la hoja será "trabajo1(2)" porque previamente ya se creó una hoja llamada "trabajo1".

Sub intertahoja2()

Sheets("trabajo1").Copy before:=Worksheets(Worksheets.Count)

End Sub

Es importante señalar que si se desea que la hoja se inserte después de la última hoja existente solo se cambia en e l código anterior before por after.

nombrehoja3 300x136, Manejo de Hojas de Excel con macros

Por otro lado, mover una hoja también resultado muy sencillo. La macro siguiente permitirá mover la "hoja 3" después de "trabajo1", si se desea que sea antes solo se cambia  before por after.

Sub moverhoja()
Worksheets("hoja3").Move After:=Worksheets("trabajo1")

End Sub

nombrehoja4 300x115, Manejo de Hojas de Excel con macros

Una quinta macro permite ordenar alfabéticamente las hojas existentes.

Sub ordenahoja()
intNumeroHojas = ActiveWorkbook.Worksheets.Count
For i = 1 To intNumeroHojas
  For j = i To intNumeroHojas
    If LCase(Worksheets(j).Name) < LCase(Worksheets(i).Name) Then
      Worksheets(j).Move Before:=Worksheets(i)
    End If
  Next j
Next i

End Sub

nombrehoja5 300x165, Manejo de Hojas de Excel con macros

Por último, si se desea eliminar una hoja se ejecuta el siguiente código.

Sub eliminahoja()
Application.DisplayAlerts = False
 
For i = 1 To Sheets.Count
  Sheets(i).Activate
    xxx = ActiveCell.Worksheet.Name
      If xxx = "trabajo" Then
        ActiveWindow.SelectedSheets.Delete
      End If
Next
 
Application.DisplayAlerts = True
End Sub

 

Elaborado por: Jennifer De la Cruz Guillén

4 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.