Funciones definidas por el usuario
----------------------------------------
*una funcion acepta valores luego
realizara los calculos y nos devolvera
una respuesta.
1.creamos unha function con el nombre doble
Function doble(numero)'el argumento pasado se llama numero
doble= numero*numero 'la function nos devuelve numero*numero
end function
2.Ahora vamos al excel y en la formula para una celda
cualquiera escribimos
=Doble(3)
*listo la celda debe devolver como valor 9
Excel VBA Code/Excel Macros / Complementos para Excel/vba macros/vba samples Excel Macros/Excel VBA/Excel Add-ins /Microsoft Excel/Spreadsheet Tools/Charts
domingo, 24 de febrero de 2008
sábado, 16 de febrero de 2008
Pasando datos a procedimientos
En VBA Tenemos siempre la posibiliodad de llamar a otro procedimiento
para pasarle datos o variables.
Por ejemplo
-----------
En este sencilo ejemplo se ve claramente como pasar un dato a otro procediento
'solo debes pegar el codigo en modulo
'y correrlo
Sub pasando_un_dato()
Dim celda As Range
Set celda = Range("A1") 'asignamos la refrencia la celda A1
celda.Value = 399 * 2 'colocamos un valor a la celda
'invocamos al procedimiento:
'calculador_datos(y le pasamos
'el valor de la propiedad value de la celda)
calculador_datos (celda.Value )
End Sub
Sub calculador_datos(valor)
'el procedimiento recibe el valor de celda.value
Dim total As Integer
total = 12 * valor 'la variable total ahora sera igual a 12* valor(celda.value)
MsgBox "el total es..." & total 'mostramos el resultado
End Sub
para pasarle datos o variables.
Por ejemplo
-----------
En este sencilo ejemplo se ve claramente como pasar un dato a otro procediento
'solo debes pegar el codigo en modulo
'y correrlo
Sub pasando_un_dato()
Dim celda As Range
Set celda = Range("A1") 'asignamos la refrencia la celda A1
celda.Value = 399 * 2 'colocamos un valor a la celda
'invocamos al procedimiento:
'calculador_datos(y le pasamos
'el valor de la propiedad value de la celda)
calculador_datos (celda.Value )
End Sub
Sub calculador_datos(valor)
'el procedimiento recibe el valor de celda.value
Dim total As Integer
total = 12 * valor 'la variable total ahora sera igual a 12* valor(celda.value)
MsgBox "el total es..." & total 'mostramos el resultado
End Sub
viernes, 8 de febrero de 2008
Invocar a una macro (procedimiento)
Esn este ejemplo el procedimiento "Sub Principal" llama al procedimdiento "Sub auxiliar"
para que nos muestre un msgbox (un mensaje)
'--------------------------------------------------------------------------------------------------
'declaramos la varible rango de tipo range
'la declaramos a nivel de modulo(disponible
'para los procedimientos de este modulo)
Dim rango As Range
Sub principal()
'ahora asiganmos el rango
'asignamos el rango "B10 a B20" a la variable de tipo rango
Set rango = Range("B10:B20")
'ahora hacemos referencia al objeto rango para pintar sus celdas
rango.Interior.ColorIndex = 3
auxiliar 'invocando a la macro auxiliar
End Sub
Sub auxiliar()
MsgBox "Las celdas del rango : " & rango.Address & " han sido pintadas"
End Sub
para que nos muestre un msgbox (un mensaje)
'--------------------------------------------------------------------------------------------------
'declaramos la varible rango de tipo range
'la declaramos a nivel de modulo(disponible
'para los procedimientos de este modulo)
Dim rango As Range
Sub principal()
'ahora asiganmos el rango
'asignamos el rango "B10 a B20" a la variable de tipo rango
Set rango = Range("B10:B20")
'ahora hacemos referencia al objeto rango para pintar sus celdas
rango.Interior.ColorIndex = 3
auxiliar 'invocando a la macro auxiliar
End Sub
Sub auxiliar()
MsgBox "Las celdas del rango : " & rango.Address & " han sido pintadas"
End Sub
Etiquetas:
excel vba llamando macros,
excel vba llamando procedimientos,
invocar procedimientos o macros,
llamando un amacro desde otra macro,
Llamar procedimientos,
macros
viernes, 1 de febrero de 2008
Uso de Variables VBA EXCEL - Macros VBA EXCEL
Variables
----------
Se emplean para "GUARDAR" y "MANIPULAR VALORES ó DATOS "
Se pueden guardar varios tipos de datos
----------------------------------------
-numericos ---> Myvarnum=5000 'guardando el dato numerico "5000" en "Myvarnum"
-cadenas ---->Myvarcadena="Libro39" 'guardando la cadena "Libro39" en Myvarcadena
-objetos -----> set wbk=Activeworkbook ''asig¡nando el libro activo a la variable de tipo objeto "wbk"
-variantes ----->myvar=5000 , myvar="XXX" , set myvar=Activeworkbook
'y en las varables de tipo variant uno podra almacenar un dato de diferentes tipos.
Las varibles se declaran de la sgte manera
-------------------------------------------
Dim var_ejemplo as string
Dim : Indica la declaración d ela variable
var_ejemplo :nombre de la variable
As : cualificativo para separar el "nombre de la varible" del "tipo de dato"
String : El tipo de dato (puede ser string ,integer, object , variant ,etc,etc)
Dim Myvarnum as integer 'tipo..numerico
Dim Myvarcadena as string 'tipo...cadena
Dim wbk as object 'tipo...objeto
Dim myvar as variant 'tipo...variant
*Varibles de objeto
---------------------
empleadas par refrenciar un objeto
*ojo para asignar un objeto a una variable uno debe asignar
de la sgte forma..primero
colocar set..luego nombre de la variable e igualr al objeto.
Set variable=Objeto
Ejemplo
--------
Dim wbk as object
-asignamos el objeto ===> el libro activo(Activeworkbook) a la variable "wbk"
set wbk=Activeworkbook
-y luego podremos por ejemplo decir
Msgbox wbk.name 'y obtendremos el nombre del libro activo
Ambito de las variables
------------------------
Se refiere al área donde se puede acceder.
'-a nivel de procedimiento
'-------------------------
Sub procedim 'las varibles solo seran acesibles dentro del procedimiento
dim paraproc as string
dim paraprox as string
paraproc="Real Madrid"
paraprox="Barcelona"
End sub
'-a nivel de modulo
'----------------------
Dim superclub as string 'accesible a todos los procedimientos del modulo
sub prueba
superclub="Manchester United"
End sub
'-a nivel de proyecto
'---------------------
Option Explicit
'al declara la variable como publica ser accesible desde todo el proyecto
Public superclub As String
Sub prueba1()
superclub = "Inter de Milan"
End Sub
----------
Se emplean para "GUARDAR" y "MANIPULAR VALORES ó DATOS "
Se pueden guardar varios tipos de datos
----------------------------------------
-numericos ---> Myvarnum=5000 'guardando el dato numerico "5000" en "Myvarnum"
-cadenas ---->Myvarcadena="Libro39" 'guardando la cadena "Libro39" en Myvarcadena
-objetos -----> set wbk=Activeworkbook ''asig¡nando el libro activo a la variable de tipo objeto "wbk"
-variantes ----->myvar=5000 , myvar="XXX" , set myvar=Activeworkbook
'y en las varables de tipo variant uno podra almacenar un dato de diferentes tipos.
Las varibles se declaran de la sgte manera
-------------------------------------------
Dim var_ejemplo as string
Dim : Indica la declaración d ela variable
var_ejemplo :nombre de la variable
As : cualificativo para separar el "nombre de la varible" del "tipo de dato"
String : El tipo de dato (puede ser string ,integer, object , variant ,etc,etc)
Dim Myvarnum as integer 'tipo..numerico
Dim Myvarcadena as string 'tipo...cadena
Dim wbk as object 'tipo...objeto
Dim myvar as variant 'tipo...variant
*Varibles de objeto
---------------------
empleadas par refrenciar un objeto
*ojo para asignar un objeto a una variable uno debe asignar
de la sgte forma..primero
colocar set..luego nombre de la variable e igualr al objeto.
Set variable=Objeto
Ejemplo
--------
Dim wbk as object
-asignamos el objeto ===> el libro activo(Activeworkbook) a la variable "wbk"
set wbk=Activeworkbook
-y luego podremos por ejemplo decir
Msgbox wbk.name 'y obtendremos el nombre del libro activo
Ambito de las variables
------------------------
Se refiere al área donde se puede acceder.
'-a nivel de procedimiento
'-------------------------
Sub procedim 'las varibles solo seran acesibles dentro del procedimiento
dim paraproc as string
dim paraprox as string
paraproc="Real Madrid"
paraprox="Barcelona"
End sub
'-a nivel de modulo
'----------------------
Dim superclub as string 'accesible a todos los procedimientos del modulo
sub prueba
superclub="Manchester United"
End sub
'-a nivel de proyecto
'---------------------
Option Explicit
'al declara la variable como publica ser accesible desde todo el proyecto
Public superclub As String
Sub prueba1()
superclub = "Inter de Milan"
End Sub
Suscribirse a:
Entradas (Atom)