Macros en Visual Basic

FORMATO

Formato: Mayúscula - Minúscula - Colores - Mostrar - Ocultar - Nombre

Formato a las celdas del rango seleccionado
(negrita, cursiva, subrayado, color, alineación)
Véalo aquí

Sub formato()
'dando formato a las celdas del rango seleccionado
Range("A1:D10").Select
With Selection
Font.Bold = True
'formato negrita
Font.Italic = True
'formato cursiva
Font.Underline = xlUnderlineStyleSingle
'subrayado simple
Font.Color = RGB(255, 0, 0)
'color de fuente (para estos valores será rojo)
HorizontalAlignment = xlCenter
'alineación central (Right=derecha, Left=izquierda)
End With
End Sub
 

Formato de minúscula a mayúscula
Véalo aquí

Sub menorAmayor()
Dim cell As Range
Dim rango As Object
'convierte texto en mayúsculas
Set rango = Selection
For Each cell In rango
cell.Value = UCase(cell.Value)
Next
End Sub

Formato de minúscula a mayúscula
Véalo aquí

Sub menorAmayor()
'Pasar de minúsculas a mayúsculas
Set rango = Range("a1:a3")
For Each Cell In rango
Cell.Value = UCase(Cell.Value)
Next
End Sub

Formato de mayúscula a minúscula
Véalo aquí

Sub mayorAmenor()
Dim cell As Range
Dim rango As Object
'convierte texto en minúsculas
Set rango = Selection
For Each cell In rango
cell.Value = LCase(cell.Value)
Next
End Sub

Formato de mayúscula a minúscula
Véalo aquí

Sub mayorAmenor()
'Pasar de mayúsculas a minúsculas
Set rango = Range("a1:a3")
For Each Cell In rango
Cell.Value = LCase(Cell.Value)
Next
End Sub

Colores: colorear las celdas de un rango según su valor
Véalo aquí

Sub colores1()
Dim fila1 As Integer, fila2 As Integer
Dim col1 As Integer, col2 As Integer
Dim fila As Integer, columna As Integer
'recorre el rango A1:E20 de la hoja activa coloreando las celdas según su valor
fila1 = 1
fila2 = 20
col1 = 1
col2 = 5
For fila = fila1 To fila2
For columna = col1 To col2
If Cells(fila, columna).Value < 1000 Then
Cells(fila, columna).Font.ColorIndex = 5 'azul
Else
If Cells(fila, columna).Value < 1500 Then
Cells(fila, columna).Font.ColorIndex = 3 'rojo
Else
Cells(fila, columna).Font.ColorIndex = 9 'marrón
End If
End If
Next columna
Next fila
End Sub

Colores: recorre un rango coloreando las celdas según su valor
Véalo aquí

Sub colores2()
Dim fila1 As Integer, fila2 As Integer
Dim col1 As Integer, col2 As Integer
Dim fila As Integer, columna As Integer, valor As Integer
'recorre el rango A1:E20 de la hoja activa coloreando las celdas según su valor
fila1 = 4
fila2 = 20
col1 = 1
col2 = 5
For fila = fila1 To fila2
For columna = col1 To col2
valor = Cells(fila, columna).Value
Select Case valor
Case Is < 1000
Cells(fila, columna).Font.ColorIndex = 5 'azul
Case 1000 To 1499
Cells(fila, columna).Font.ColorIndex = 3 'rojo
Case 1500 To 1999
Cells(fila, columna).Font.ColorIndex = 9 'marrón
Case 2000 To 2999
Cells(fila, columna).Font.ColorIndex = 7 'fucsia
Case Else
Cells(fila, columna).Font.ColorIndex = 6 'amarillo
End Select
Next columna
Next fila
End Sub

Colores: Oculta fila con color determinado
Véalo aquí

Sub OcultaPorColor()

'recorre la col A de la hoja activa, si encuentra celda con color de fuente automática oculta la fila
Range("A3").Select
While ActiveCell.Value <> ""
If ActiveCell.Font.ColorIndex = xlColorIndexAutomatic Then
ActiveCell.EntireRow.Hidden = True
End If
ActiveCell.Offset(1, 0).Select
Wend
'para ocultar filas con color de fuente rojo será:
'If ActiveCell.Font.ColorIndex = 3 Then
'buscar la lista de colores en la Ayuda
End Sub

Mostrar: columna
Véalo aquí

Sub MuestraTodas()
'muestra filas ocultas de la hoja Colores
Application.ScreenUpdating = False
'Desactive la actualización de la pantalla para acelerar el código de la macro
Sheets("Hoja1").Select
Rows("2:1000").Select
Selection.EntireRow.Hidden = False
Range("C3").Select
Application.ScreenUpdating = True
'Recuerde que debe volver a establecer la propiedad ScreenUpdating como True cuando finalice la macro.
End Sub

Hoja: dar nombre a las hojas
Véalo aquí

Sub nombre_hoja()
Dim MiNombre As String
Dim hoja As Worksheet
For Each hoja In Worksheets
MiNombre = InputBox("Ingrese nombre de hoja")
hoja.Name = MiNombre
Next hoja
End Sub
<< atras

Tabla de contenidos

adelante >>