Curso de Excel VBA (4): Trabajar con el modelo de objetos de Excel

En este artículo, veremos cómo manejar el modelo de objetos de Excel.

2.4. Comprender el modelo de objetos de Excel con código simple

2.4.1. primitiva de acceso a objetos

Veamos el código más básico que accede a archivos, hojas, rangos y celdas. Como referencia, el objeto global Aplicación se puede omitir al acceder al objeto. En la segunda línea de cada ejemplo del 1 al 6 a continuación, se expresa el código que omite la aplicación.

'1. 이름이 t1.xlsx 인 파일
Application.Workbooks("t1.xlsx")
Workbooks("t1.xlsx") 

'2. 이 파일의 Sheet1 시트
Application.Workbooks("t1.xlsx").Worksheets("Sheet1")
Workbooks("t1.xlsx").Worksheets("Sheet1")

'3. 이 시트의 A1 cell
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") 

'4. 이 시트의 A1 cell 에 "TEST" 문자열 입력
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"

'5. 이 시트의 A1 cell 글꼴을 굵게(Bold) 설정
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True

'6. 이 시트의 A2:D4 범위
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")

Echemos un vistazo más de cerca a cada uno.

'1. 이름이 t1.xlsx 인 파일
Application.Workbooks("t1.xlsx")
Workbooks("t1.xlsx")

▲ Esta es una sintaxis que indica el archivo cuyo nombre es “t1.xlsx” entre los archivos abiertos actualmente en Excel. Workbooks mantiene una colección de archivos abiertos. Al seleccionar uno de varios archivos, acceda al 'nombre de archivo' de la colección Workbooks como parámetro. (Como referencia, además del nombre del archivo, también se puede usar como parámetro el orden en que se abrió el archivo, como "Libros de trabajo (1)").

'2. 이 파일의 Sheet1 시트
Application. Workbooks("t1.xlsx").Worksheets("Sheet1")
Workbooks("t1.xlsx").Worksheets("Sheet1")

▲ Esta es una sintaxis que indica la hoja "Hoja1" del archivo "t1.xlsx" especificado anteriormente. Las hojas de trabajo administran una colección de hojas en un archivo. Al seleccionar una de varias hojas, acceda al 'nombre de la hoja' de la colección Hojas de trabajo como parámetro. (Al igual que los libros de trabajo, también puede usar el orden de las hojas como parámetro, como "Hojas de trabajo (1)".)

'3. 이 시트의 A1 cell
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1")

▲ Esta es una frase que indica la celda "A1" de la hoja "Hoja1" especificada anteriormente.

'4. 이 시트의 A1 cell 에 "TEST" 문자열 입력
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1") = "TEST"

▲ Este código ingresa un valor de cadena a la celda a la que se accedió anteriormente. Puede ingresar cualquier tipo de valor, incluidas cadenas y números.

'5. 이 시트의 A1 cell 글꼴을 굵게(Bold) 설정
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A1").Font.Bold = True

▲ Este código establece el formato de celda utilizando el objeto Rango. Todos los formatos de celda, como el nombre de fuente, el color, el tamaño, el color de fondo, el tipo de borde de celda y el color del borde, se pueden configurar con el código VBA.

'6. 이 시트의 A2:D4 범위
Application.Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")
Workbooks("t1.xlsx").Worksheets("Sheet1").Range("A2:D4")

▲ Un objeto Rango puede apuntar a varias celdas contiguas. El rango ("A2:D4") representa '2 filas, 1 columna' a '4 filas, 4 columnas'.

Range("A2:D4")
Rango ("A2: D4")

2.4.2. acceso a objetos sencillo

Al acceder al archivo o la hoja actual, simplemente puede usarlo de la siguiente manera. Este código es simple y muy legible, pero se debe tener cuidado cuando se cambia el archivo o la hoja actual durante la ejecución.

'1. 현재 열려있는 파일
ActiveWorkbook

'2. 현재 열려있는 시트
ActiveWorksheet

'3. 현재 열려있는 시트의 A1 cell
Range("A1")
ActiveWorksheet.Range("A1")

'4. 현재 열려있는 시트의 A1 cell 에 "TEST" 라는 값 할당
Range("A1") = "TEST"

'5. 현재 열려있는 시트의 시트의 A1 cell 글꼴을 굵게(Bold) 설정
Range("A1").Font.Bold = True

'6. 현재 열려있는 시트의 A2:D4 범위
Range("A2:D4")

2.4.3. Ejemplos de acceso y uso de objetos

Veamos algunos ejemplos más de acceso a objetos.

'1. 현재 열려있는 파일들
Workbooks

'2. 현재 열려있는 파일들의 수
Workbooks.Count

'3. 새로운 파일 만들기
Workbooks.Add

'4. 현재 파일을 C:\test.xlsx로 저장하기
ActiveWorkbook.SaveAs "C:\test.xlsx"

'5. 현재 파일의 이름을 보여주기
MsgBox ActiveWorkbook.Name

'6. 현재 열려있는 파일의 시트들
Worksheets

'7. 현재 열려있는 파일의 시트들의 수
Worksheets.Count

'8. 새로운 시트 만들기
Worksheets.Add

'9. Sheet1을 삭제하기
Worksheets("Sheet1").Delete

'10. 현재 시트의 이름을 보여주기
MsgBox ActiveSheet.Name

'11. 현재 열려있는 시트의 A1 cell 선택
Range("A1").Select

'12. 현재 열려있는 시트에서 사용된 영역을 선택
ActiveSheet.UsedRange.Select

2.5. Detalles del modelo de objetos de Excel

La estructura jerárquica del modelo de objetos de Excel de uso frecuente es la siguiente. Los objetos que se muestran en esta figura son una parte, no el todo, proporcionados a Excel VBA. De estos, el objeto con el color de fondo se ha tratado una vez en los contenidos hasta ahora. 

엑셀 Object Model(일부)
Modelo de objetos de Excel (parte)

No necesita saber todos los objetos de fondo blanco ahora. Puede aprenderlo y usarlo más tarde cuando lo necesite. Por ahora, solo mirarlo para ver si existe tal cosa es suficiente.

Todo el objeto se divide en página1, página2 y página3 en el sitio de Microsoft Docs.

La fuente de cada imagen de arriba es la siguiente URL.


Arriba, vimos el modelo de objetos de Excel en detalle. A continuación, explicaré las referencias relacionadas con Excel VBA.


<< Lista de artículos relacionados >>

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESEspañol