02 MacrosVBAExcelAvanzado_EAA de 11
Click here to load reader
-
Upload
enrique-alfaro-asmad -
Category
Documents
-
view
81 -
download
4
description
Transcript of 02 MacrosVBAExcelAvanzado_EAA de 11
![Page 1: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/1.jpg)
Excel Avanzado con VBA (02)Ing. Enrique Alfaro
![Page 2: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/2.jpg)
12/04/2023Ing. Enrique Alfaro 2
MOVER A UN EXTREMO DE UNA LISTADE LA SELECCIÓN ACTUAL DIRIGIRSE AL FINAL POR CUALQUIERA DE LOS LADOS DISPONIBLES
IR HACIA LA DERECHA (Ctrl+Dcha.) Selection.End(xlToRight).Select
IR HACIA LA IZQUIERDA (Ctrl+izqda.) Selection.End(xlToLeft).Select
IR HACIA ABAJO (Ctrl+Abajo.) Selection.End(xlDown).Select
IR HACIA ARRIBA (Ctrl+Arriba.) Selection.End(xlUp).Select
![Page 3: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/3.jpg)
12/04/2023Ing. Enrique Alfaro 3
ELIMINACION DE INFORMACION DE CELDAS
ELIMINAR CONTENIDO DE CELDAS (Supr)Selection.ClearContents
ELIMINAR EL FORMATO DE CELDASSelection.ClearFormats
ELIMINAR TODO DE CELDASSelection.Clear
ELIMINAR CONTENIDO DE 9 CELDAS: 3 A LA DERECHA Y 3 ABAJO A PARTIR DE LA ACTIVA
ActiveCell.Range("A1:C3").ClearContents
![Page 4: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/4.jpg)
12/04/2023Ing. Enrique Alfaro 4
ELIMINACION DE FILAS O COLUMNASELIMINAR UNA CELDA DE LA CELDA ACTIVA
DESPLAZANDO LAS CELDAS HACIA ARRIBAActiveCell.Delete Shift:=xlUp
ELIMINAR UNA COLUM. DE LA CELDA ACTIVA DESPLAZANDO LAS COLUMNAS HACIA LA DERECHA
ActiveCell.Delete Shift:=xlToLeft
ELIMINAR UNA FILA ENTERAActiveCell.Rows(“1:1”).EntireRow.SelectSelection.Delete Shift:=xlUpActiveCell.Select ‘No necesario
ELIMINAR UNA COLUMNA ENTERAActiveCell.Columns(“A:A”).EntireColumn.SelectSelection.Delete Shift:=xlToLeft
![Page 5: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/5.jpg)
12/04/2023Ing. Enrique Alfaro 5
ELIMINACION DE FILAS O COLUMNAS
ELIMINAR 2 FILAS ARRIBA DE LA CELDA ACTIVA
ActiveCell.Offset(-2,0).Rows(“1:2”).EntireRow.Select
Selection.Delete Shift:=xlUp
ELIMINAR 3 COLUMNAS A LA DERECHA DE LA CELDA ACTIVA
ActiveCell.Offset(0,1).Columns(“A:C”).EntireColumn.Select
Selection.Delete Shift:=xlToLeft
![Page 6: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/6.jpg)
12/04/2023Ing. Enrique Alfaro 6
INSERCION DE FILAS / COLUMNAS
INSERTAR UNA FILA DEBAJO DE LA ACTIVA
Selection.Insert Shift:=xlDown
INSERTAR UNA COLUMNA A LA DERECHA DE LA ACTIVA
Selection.Insert Shift:=xlToRight
INSERTAR UNA COLUMNA ENTERA EN LA CELDA ACTIVA
ActiveCell.Columns("A:A").EntireColumn.Select Selection.Insert Shift:=xlToRight
![Page 7: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/7.jpg)
12/04/2023Ing. Enrique Alfaro 7
INSERCION DE FILAS / COLUMNAS
INSERTAR UNA COLUMNA ENTERA 2 COLUMNAS A LA DERECHA DE LA CELDA ACTIVA
ActiveCell.Offset(0, 2).Columns("A:A").EntireColumn.Select
Selection.Insert Shift:=xlToRight,
INSERTAR DOS COLUMNAS ENTERAS 3 COLUMNAS A LA DERECHA DE LA CELDA ACTIVA
ActiveCell.Offset(0, 3).Columns("A:C").EntireColumn.Select
Selection.Insert Shift:=xlToRight
![Page 8: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/8.jpg)
12/04/2023Ing. Enrique Alfaro 8
SUMAR AL FINAL DE UNA LISTA DE NUMEROSEj.: Partir ubicándose en una celda mas abajo
del último número de una lista de 5 números cualquiera dispuestos verticalmente.
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
Ej: Partir ubicándose en una celda a la derecha del último número de una lista de 5 números cualquiera dispuestos horizontalmente:
ActiveCell.FormulaR1C1="=SUM(RC[-4]:RC[-1])"
![Page 9: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/9.jpg)
12/04/2023Ing. Enrique Alfaro 9
AJUSTAR COLUMNAS y FILASCAMBIAR EL ANCHO DE 5 COLUMNAS O 5 FILAS A LA VEZColumns("B:F"). ColumnWidth = 6Rows("6:10").RowHeight = 40
CAMBIAR EL ANCHO AUTOMATICO AJUSTABLE A LOS DATOS DE 5 COLUMNAS O 5 FILAS LA VEZ
Columns("B:F").EntireColumn.AutoFitRows("6:10").EntireRow.AutoFit
![Page 10: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/10.jpg)
12/04/2023Ing. Enrique Alfaro 10
RELLENAR FORMULASRELLENAR FORMULA CON FORMATOSelection.AutoFill Destination:=ActiveCell.Range("A1:C1"), Type:=xlFillDefault
RELLENAR FORMULA SOLO VALORESSelection.AutoFill Destination:=ActiveCell.Range("A1:C1"), Type:=xlFillValues
RELLENAR FORMULA SOLO FORMATOSSelection.AutoFill Destination:=ActiveCell.Range("A1:C1"), Type:=xlFillFormats
Notas: ActiveCell.Range("A1:C1") es un rango relativo a la celda activa e involucra las 3 celdas contiguas a la celda actual inclusive.Si deseas utilizar la primera forma puedes obviar la escritura de Type:=…
![Page 11: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/11.jpg)
12/04/2023Ing. Enrique Alfaro 11
EJERCICIO DE APLICACION
Crear 2 macros, una que borre todo y otra que cree una tabla en cualquier celda activada. Los números son aleatorios entre 0 y 10. Hallar sumatoria y formatear.
Sub Borrar() Cells.Select Selection.Clear Range("A1").Select End Sub
![Page 12: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/12.jpg)
12/04/2023Ing. Enrique Alfaro 12
EJERCICIO DE APLICACIÓN (1/3) Sub CrearTabla() 'Escribir los titulos enero…marzo ActiveCell.Value = "Enero" ActiveCell.Offset(0, 1). Select 'ActiveCell.Offset(0,
1).Range("A1").Select
ActiveCell.Value = "Febrero" ActiveCell.Offset(0, 1). Select ActiveCell.Value= "Marzo" 'Ubicarse en el primer titulo (ctrl+ izquierda) Selection.End(xlToLeft).Select 'Seleccionar las 9 celdas a partir de una celda abajo de la
activa ActiveCell.Offset(1, 0).Range("A1:C3").Select 'Imprimir numeros aleatorios entre 1 y 10 en la selección Selection.Value = "=RANDBETWEEN(1,10)" 'Ubicarse en el 1er titulo (Ctrl + arriba) Selection.End(xlUp).Select Continúa…
![Page 13: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/13.jpg)
12/04/2023Ing. Enrique Alfaro 13
EJERCICIO DE APLICACIÓN (2/3)
'Seleccionar todos los títulos Range(Selection,
Selection.End(xlToRight)).Select 'Aplicar color y negrita a los títulos
seleccionados Selection.Font.Color = RGB(255, 0, 50) Selection.Font.Bold = True 'Ir a la última celda inferior de la tabla Selection.End(xlDown).Select 'Seleccionar la celda inferior de la actual ActiveCell.Offset(1, 0).Select Sumar los valores superiores a la celda activa ActiveCell.value = "=SUM(R[-3]C:R[-1]C)"
Continúa…
…viene de la anterior
![Page 14: 02 MacrosVBAExcelAvanzado_EAA de 11](https://reader038.fdocuments.ec/reader038/viewer/2022100517/5571fa1e497959916991536d/html5/thumbnails/14.jpg)
12/04/2023Ing. Enrique Alfaro 14
EJERCICIO DE APLICACIÓN (3/3)
‘Copiar rellenando la fórmula en las 2 celdas de la derecha.
Selection.AutoFill Destination:=ActiveCell.Range("A1:C1")
ActiveCell.Range("A1:C1").Select 'Formatear negrita e itálica la selección actual de
fórmulas With Selection .Font.Bold = True .Font.Italic = True End With 'Formatear con borde continuo arriba de lo
seleccionado Selection.Borders(xlEdgeTop).LineStyle =
xlContinuous 'Ubicarse al comienzo de la tabla terminada Selection.End(xlUp).SelectEnd Sub
…viene de la anterior