SlideShare una empresa de Scribd logo
1 de 7
Programación del Excel conVBA
(Visual Basic para Aplicaciones)
Correo:
jarmoncada@gmail.com
Procedimientos Sub – Parte 3
Argumentos por ByVal y ByRef
Clase 23
Andrés Rojas Moncada
Blog:
excelhechofacil.blogspot.com
YouTube:
youtube.com/jarmoncada01
Twitter:
twitter.com/ExcelHechoFacil
Facebook:
facebook.com/AndresRojasMoncada
Visual
Basic
for Applications
E X C E L
&
Clase 23
Alcance
Elección del criterio para pasar argumentos a procedimientos
¿ Qué es ByVal ? | ¿ Qué es ByRef ?
Sintaxis a emplear
¿ ByVal - ByRef ?
Aspectos esenciales a tener en cuenta
Concejos, claves, información útil
Ejemplos en la hoja de cálculo
Crear un reporte simple en Excel
Visual
Basic
for Applications
E X C E L
&
Elección del criterio para pasar argumentos a
procedimientos
¿ Qué es ByVal ? | ¿ Qué es ByRef ?
Sintaxis a emplear
¿ ByVal – ByRef ?
Aspectos esenciales a tener en cuenta
Concejos, claves, información útil
Ejemplos en la hoja de cálculo
Crear un reporte simple en Excel
Alcance
Generalidades
¿Cómo maneja VBA la memoria del PC cuando
trabaja con argumentos?
Espacio que se reserva en la memoria del ordenador con un nombre
definido que asocia y almacena un determinado tipo de datos
durante la ejecución de un procedimiento.
Memoria del PC
Variable
V1 Dirección 1
V2 Dirección 2
V... Dirección...
ByRef | Por referencia
Modo de pasar un argumento a un
procedimiento pasando su dirección en
vez de su valor.
Esto hace posible el acceso del
procedimiento a la variable real.
Como resultado, el valor real de la
variable puede ser cambiado por el
procedimiento al cual se pasa.
ByVal | Por valor
Modo de pasar un argumento a un
procedimiento pasando su valor en vez
de su dirección.
Esto hace posible el acceso del
procedimiento a una copia de la
variable real.
Como resultado, el valor actual de la
variable real no puede ser cambiado
por el procedimiento al cual se pasa.
C1 Dirección de la copia V1
C2 Dirección de la copia V2
C... Dirección de la copia V...
Visual
Basic
for Applications
E X C E L
&
Sintaxis a
emplear
Sintaxis general
[ Public | Private ] [ Static ] Sub nombre ([ ByVal | ByRef ] nombre_variable [()] [ As tipo ])
[instrucciones]
[Exit Sub]
[instrucciones]
End Sub
Elección del criterio para pasar argumentos a
procedimientos
¿ Qué es ByVal ? | ¿ Qué es ByRef ?
Sintaxis a emplear
¿ ByVal – ByRef ?
Aspectos esenciales a tener en cuenta
Concejos, claves, información útil
Ejemplos en la hoja de cálculo
Crear un reporte simple en Excel
Alcance
Sub Procedimiento1 (ByVal a As Long, ByRef b As Long)
a = a + 1
b = b + 1
End Sub
Ejemplo simple
Sub Procedimiento2 ()
Dim x As Long
Dim y As Long
x = 1
y = 1
Call Procedimiento1 (x, y)
MsgBox "La variable x = " & x & vbCrLf & "La variable y = " & y
End Sub
Resultado
Visual
Basic
for Applications
E X C E L
&
Aspectos
esenciales
Se debe usar ByRef para el parámetro matricial
Elección del criterio para pasar argumentos a
procedimientos
¿ Qué es ByVal ? | ¿ Qué es ByRef ?
Sintaxis a emplear
¿ ByVal – ByRef ?
Aspectos esenciales a tener en cuenta
Concejos, claves, información útil
Ejemplos en la hoja de cálculo
Crear un reporte simple en Excel
Alcance
Sub NombreProcedimiento (ByVal Matriz () As String)
[instrucciones]
End Sub
Sub ProcedimientoUno ()
Dim Contador As Long
Dim Matriz () As Long
Dim VariableMatriz As Variant
For Contador = 1 To 10
ReDim Preserve Matriz (1 To Contador)
Matriz (Contador) = Contador * 10
Next Contador
VariableMatriz = Matriz ()
Call ProcedimientoDos (VariableMatriz)
End Sub
Resultado
1
Sub NombreProcedimiento (ByRef Matriz () As String)
[instrucciones]
End Sub
Sub ProcedimientoDos (ByVal MiMatriz As Variant)
MsgBox MiMatriz (7)
End Sub
Visual
Basic
for Applications
E X C E L
&
Sub ProcedimientoDos (ByRef Trabajador As Persona)
MsgBox Trabajador.Nombre
MsgBox Trabajador.Apellido
MsgBox Trabajador.Edad
End Sub
Aspectos
esenciales
Las variables declaradas como tipo de datos definidos por el usuario no pueden
pasarse como argumentos ByVal
Elección del criterio para pasar argumentos a
procedimientos
¿ Qué es ByVal ? | ¿ Qué es ByRef ?
Sintaxis a emplear
¿ ByVal – ByRef ?
Aspectos esenciales a tener en cuenta
Concejos, claves, información útil
Ejemplos en la hoja de cálculo
Crear un reporte simple en Excel
Alcance
Sub NombreProcedimiento (ByVal Trabajador As Persona)
[instrucciones]
End Sub
Type Persona
Nombre As String
Apellido As String
Edad As Integer
End Type
Resultado
2
Sub NombreProcedimiento (ByRef Trabajador As Persona)
[instrucciones]
End Sub
Sub ProcedimientoUno ()
Dim Empleado As Persona
Empleado.Nombre = "Olga"
Empleado.Apellido = "Mojica"
Empleado.Edad = 38
Call ProcedimientoDos (Empleado)
End Type
Visual
Basic
for Applications
E X C E L
&
Creación de un
reporte simple
Elección del criterio para pasar argumentos a
procedimientos
¿ Qué es ByVal ? | ¿ Qué es ByRef ?
Sintaxis a emplear
¿ ByVal – ByRef ?
Aspectos esenciales a tener en cuenta
Concejos, claves, información útil
Ejemplos en la hoja de cálculo
Crear un reporte simple en Excel
Alcance
¡GRACIAS POR SU
ATENCIÓN!

Más contenido relacionado

Similar a Clase 23 - Presentacion.pptx

1 excel funcional y dinamico
1 excel funcional y dinamico1 excel funcional y dinamico
1 excel funcional y dinamicoFrancisco Petrone
 
Visualbasic net tema de java
Visualbasic net tema de javaVisualbasic net tema de java
Visualbasic net tema de javaGroup Lliuya
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Métricas del Software
Métricas del SoftwareMétricas del Software
Métricas del SoftwareArabel Aguilar
 
Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2agustin rojas
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programaciónJavier Roig
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentaciónIvarra
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005hvillarreal
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_labjcbenitezp
 
Reportes con crystal reports
Reportes con crystal reportsReportes con crystal reports
Reportes con crystal reportsKevin Alvarado
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mvEcler Mamani Vilca
 

Similar a Clase 23 - Presentacion.pptx (20)

1 excel funcional y dinamico
1 excel funcional y dinamico1 excel funcional y dinamico
1 excel funcional y dinamico
 
Visualbasic net tema de java
Visualbasic net tema de javaVisualbasic net tema de java
Visualbasic net tema de java
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
 
Visual basic san_pedro
Visual basic san_pedroVisual basic san_pedro
Visual basic san_pedro
 
0.2 Conceptos Basicos C++ II
0.2  Conceptos Basicos C++ II0.2  Conceptos Basicos C++ II
0.2 Conceptos Basicos C++ II
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Métricas del Software
Métricas del SoftwareMétricas del Software
Métricas del Software
 
Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 
Cap0 2
Cap0 2Cap0 2
Cap0 2
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentación
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_lab
 
Practica visio
Practica visioPractica visio
Practica visio
 
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET ...
(22.04.2009) Cumuy Presenta -  Novedades en la plataforma de desarrollo .NET ...(22.04.2009) Cumuy Presenta -  Novedades en la plataforma de desarrollo .NET ...
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET ...
 
TEMA11.ppt
TEMA11.pptTEMA11.ppt
TEMA11.ppt
 
Reportes con crystal reports
Reportes con crystal reportsReportes con crystal reports
Reportes con crystal reports
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
 

Más de Jackson Martins

CLASES DE WINDOWS 10.pptx
CLASES DE WINDOWS 10.pptxCLASES DE WINDOWS 10.pptx
CLASES DE WINDOWS 10.pptxJackson Martins
 
PPT-Redes-Inalámbricas-2018-wecompress.com_.pptx
PPT-Redes-Inalámbricas-2018-wecompress.com_.pptxPPT-Redes-Inalámbricas-2018-wecompress.com_.pptx
PPT-Redes-Inalámbricas-2018-wecompress.com_.pptxJackson Martins
 
CONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptx
CONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptxCONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptx
CONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptxJackson Martins
 
SESION 5 - Configuracion de paginas e impresion.pptx
SESION 5 - Configuracion de paginas e impresion.pptxSESION 5 - Configuracion de paginas e impresion.pptx
SESION 5 - Configuracion de paginas e impresion.pptxJackson Martins
 
La funcion logica si ejercicios resueltos
La funcion logica si ejercicios resueltosLa funcion logica si ejercicios resueltos
La funcion logica si ejercicios resueltosJackson Martins
 

Más de Jackson Martins (6)

CLASES DE WINDOWS 10.pptx
CLASES DE WINDOWS 10.pptxCLASES DE WINDOWS 10.pptx
CLASES DE WINDOWS 10.pptx
 
PPT-Redes-Inalámbricas-2018-wecompress.com_.pptx
PPT-Redes-Inalámbricas-2018-wecompress.com_.pptxPPT-Redes-Inalámbricas-2018-wecompress.com_.pptx
PPT-Redes-Inalámbricas-2018-wecompress.com_.pptx
 
CONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptx
CONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptxCONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptx
CONFIGURACION DE ROUTER MODELO DSL-2401HN-T1C .pptx
 
macros.pptx
macros.pptxmacros.pptx
macros.pptx
 
SESION 5 - Configuracion de paginas e impresion.pptx
SESION 5 - Configuracion de paginas e impresion.pptxSESION 5 - Configuracion de paginas e impresion.pptx
SESION 5 - Configuracion de paginas e impresion.pptx
 
La funcion logica si ejercicios resueltos
La funcion logica si ejercicios resueltosLa funcion logica si ejercicios resueltos
La funcion logica si ejercicios resueltos
 

Último

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 

Último (20)

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 

Clase 23 - Presentacion.pptx

  • 1. Programación del Excel conVBA (Visual Basic para Aplicaciones) Correo: jarmoncada@gmail.com Procedimientos Sub – Parte 3 Argumentos por ByVal y ByRef Clase 23 Andrés Rojas Moncada Blog: excelhechofacil.blogspot.com YouTube: youtube.com/jarmoncada01 Twitter: twitter.com/ExcelHechoFacil Facebook: facebook.com/AndresRojasMoncada
  • 2. Visual Basic for Applications E X C E L & Clase 23 Alcance Elección del criterio para pasar argumentos a procedimientos ¿ Qué es ByVal ? | ¿ Qué es ByRef ? Sintaxis a emplear ¿ ByVal - ByRef ? Aspectos esenciales a tener en cuenta Concejos, claves, información útil Ejemplos en la hoja de cálculo Crear un reporte simple en Excel
  • 3. Visual Basic for Applications E X C E L & Elección del criterio para pasar argumentos a procedimientos ¿ Qué es ByVal ? | ¿ Qué es ByRef ? Sintaxis a emplear ¿ ByVal – ByRef ? Aspectos esenciales a tener en cuenta Concejos, claves, información útil Ejemplos en la hoja de cálculo Crear un reporte simple en Excel Alcance Generalidades ¿Cómo maneja VBA la memoria del PC cuando trabaja con argumentos? Espacio que se reserva en la memoria del ordenador con un nombre definido que asocia y almacena un determinado tipo de datos durante la ejecución de un procedimiento. Memoria del PC Variable V1 Dirección 1 V2 Dirección 2 V... Dirección... ByRef | Por referencia Modo de pasar un argumento a un procedimiento pasando su dirección en vez de su valor. Esto hace posible el acceso del procedimiento a la variable real. Como resultado, el valor real de la variable puede ser cambiado por el procedimiento al cual se pasa. ByVal | Por valor Modo de pasar un argumento a un procedimiento pasando su valor en vez de su dirección. Esto hace posible el acceso del procedimiento a una copia de la variable real. Como resultado, el valor actual de la variable real no puede ser cambiado por el procedimiento al cual se pasa. C1 Dirección de la copia V1 C2 Dirección de la copia V2 C... Dirección de la copia V...
  • 4. Visual Basic for Applications E X C E L & Sintaxis a emplear Sintaxis general [ Public | Private ] [ Static ] Sub nombre ([ ByVal | ByRef ] nombre_variable [()] [ As tipo ]) [instrucciones] [Exit Sub] [instrucciones] End Sub Elección del criterio para pasar argumentos a procedimientos ¿ Qué es ByVal ? | ¿ Qué es ByRef ? Sintaxis a emplear ¿ ByVal – ByRef ? Aspectos esenciales a tener en cuenta Concejos, claves, información útil Ejemplos en la hoja de cálculo Crear un reporte simple en Excel Alcance Sub Procedimiento1 (ByVal a As Long, ByRef b As Long) a = a + 1 b = b + 1 End Sub Ejemplo simple Sub Procedimiento2 () Dim x As Long Dim y As Long x = 1 y = 1 Call Procedimiento1 (x, y) MsgBox "La variable x = " & x & vbCrLf & "La variable y = " & y End Sub Resultado
  • 5. Visual Basic for Applications E X C E L & Aspectos esenciales Se debe usar ByRef para el parámetro matricial Elección del criterio para pasar argumentos a procedimientos ¿ Qué es ByVal ? | ¿ Qué es ByRef ? Sintaxis a emplear ¿ ByVal – ByRef ? Aspectos esenciales a tener en cuenta Concejos, claves, información útil Ejemplos en la hoja de cálculo Crear un reporte simple en Excel Alcance Sub NombreProcedimiento (ByVal Matriz () As String) [instrucciones] End Sub Sub ProcedimientoUno () Dim Contador As Long Dim Matriz () As Long Dim VariableMatriz As Variant For Contador = 1 To 10 ReDim Preserve Matriz (1 To Contador) Matriz (Contador) = Contador * 10 Next Contador VariableMatriz = Matriz () Call ProcedimientoDos (VariableMatriz) End Sub Resultado 1 Sub NombreProcedimiento (ByRef Matriz () As String) [instrucciones] End Sub Sub ProcedimientoDos (ByVal MiMatriz As Variant) MsgBox MiMatriz (7) End Sub
  • 6. Visual Basic for Applications E X C E L & Sub ProcedimientoDos (ByRef Trabajador As Persona) MsgBox Trabajador.Nombre MsgBox Trabajador.Apellido MsgBox Trabajador.Edad End Sub Aspectos esenciales Las variables declaradas como tipo de datos definidos por el usuario no pueden pasarse como argumentos ByVal Elección del criterio para pasar argumentos a procedimientos ¿ Qué es ByVal ? | ¿ Qué es ByRef ? Sintaxis a emplear ¿ ByVal – ByRef ? Aspectos esenciales a tener en cuenta Concejos, claves, información útil Ejemplos en la hoja de cálculo Crear un reporte simple en Excel Alcance Sub NombreProcedimiento (ByVal Trabajador As Persona) [instrucciones] End Sub Type Persona Nombre As String Apellido As String Edad As Integer End Type Resultado 2 Sub NombreProcedimiento (ByRef Trabajador As Persona) [instrucciones] End Sub Sub ProcedimientoUno () Dim Empleado As Persona Empleado.Nombre = "Olga" Empleado.Apellido = "Mojica" Empleado.Edad = 38 Call ProcedimientoDos (Empleado) End Type
  • 7. Visual Basic for Applications E X C E L & Creación de un reporte simple Elección del criterio para pasar argumentos a procedimientos ¿ Qué es ByVal ? | ¿ Qué es ByRef ? Sintaxis a emplear ¿ ByVal – ByRef ? Aspectos esenciales a tener en cuenta Concejos, claves, información útil Ejemplos en la hoja de cálculo Crear un reporte simple en Excel Alcance ¡GRACIAS POR SU ATENCIÓN!