Está en la página 1de 5

Macros de Excel más utilizados

1. Macro para copiar el contenido seleccionado de una hoja en otra: seguro


que más de una vez necesitas tener el mismo contenido de una hoja de Excel en otra.
Existen funciones para ello, pero al final llenamos nuestra hoja de demasiadas
fórmulas. Por eso, te queremos enseñar cómo hacerlo con una macro. Debemos
seleccionar el contenido que queremos copiar y después utilizar el código siguiente
en la macro.

Sub CopiaColumnas()
Dim mirango As Range
Dim col As Range
Dim NuevaHoja As Worksheet
Dim i As Integer

Set mirango = Selection

Worksheets.Add
i=0
For Each col In mirango.Columns
col.Copy ActiveSheet.Range(“A1”).Offset(, i)
i=i+1
Next col

End Sub

¡Recuerda que tendrás que actualizar este código con tus datos!

2. Macro para imprimir una hoja: si queremos imprimir la hoja activa con
datos, también podemos utilizar macros. A continuación, te ponemos cómo sería el
código. Como ves en el código, podemos establecer el número de copias que
queremos hacer de esa hoja.

Sub macro imprimir_ha()

Range(“A1”) = “Lo que sea”


‘Imprimimos la hoja de excel con una sola copia
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub

3. Macro para suprimir filas vacías: a veces nos damos cuenta que en
nuestra hoja de Excel sobran demasiadasfilas de Excel vacías. Si fueran pocas, 1 o
2, bastaría con seleccionarla y con el botón derecho, marcando la fila, seleccionar
del menú Eliminar. Sin embargo, cuando son muchas filas, perderíamos demasiado
tiempo haciéndolo así, con lo que lo mejor sería usa una macro.

Dim intNumDeFilas As Long

Selection.SpecialCells(xlCellTypeLastCell).Select
intNumDeFilas = Selection.Row
For i = 1 To intNumDeFilas
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next

intUltimaFila = ActiveSheet.UsedRange.Row – 1 +
ActiveSheet.UsedRange.Rows.Count

For r = intUltimaFila To 1 Step -1


If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
3. Macro para para guardar archivo seleccionando la ubicación: también
podemos utilizar una macro para guardar archivo seleccionando la ubicación de
donde lo queremos guardar. Te mostrarnos el código:

 Sub guardar_archivo()
Dim stArchivo
stArchivo = Application.GetOpenFilename(“Hoja de Excel , *.xls*”, _
, “Seleccione archivo “)

End Sub

5. Macro para aplicar formato a un rango de celdas: si queremos aplicar un


formato a las celdas que seleccionamos, por ejemplo, el tamaño de fuente y en
negrita, también podemos hacerlo a través de macros. Con esto evitaremos tener
que ir aplicando el formato :

Range(“A1:A5”).Select
Selection.Font.Bold = True ‘negrita
Selection.Font.Size = 12 ‘tamaño de fuente
Selection.Font.ColorIndex = 5 ‘asigna color
Selection.Font.UnderLine = xlUnderlineStyleDoubleAccounting

6. Macro para crear índice del libro de Excel: cuando trabajamos en un libro


de Excel con gran cantidad de hojas, puede que necesitemos crear un índice que nos
lleve a la hoja que deseemos, el cual pondremos en la primera hoja. A continuación
te mostramos cómo hacerlo a través una macro creada para ello:

Private Sub Worksheet_Activate()

Dim cHoja As Worksheet

Dim L As Long
L=1

With Me

.Columns(1).ClearContents

.Cells(1, 1) = “INDICE”

.Cells(1, 1).Name = “Indice”

End With

For Each cHoja In Worksheets

If cHoja.Name <> Me.Name Then

L=L+1

With cHoja

.Range(“A1″).Name = “Inicio” & cHoja.Index

.Hyperlinks.Add Anchor:=.Range(“A1″), Address:=” “, SubAddress:=”Indice”,


TextToDisplay:=”Volver al índice”

End With

Me.Hyperlinks.Add Anchor:=Me.Cells(L, 1), Address:=” “, SubAddress:=”Inicio”


& cHoja.Index, TextToDisplay:=cHoja.Name

End If

Next cHoja

End Sub

Estos son solo algunos ejemplos de macros básicos, que te pueden facilitar mucho
el trabajo con Excel, en otros artículos te mostraremos más. Y por último,
recuerda optimizar la macros  ¡Hasta la próxima!

También podría gustarte