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
Funciones Definidas por el usuario
Etiquetas:
codigo vba excel Funciones definidas por el usuario,
ejmplo de Funciones definidas por el usuario,
excel vba code Funciones definidas por el usuario
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
Etiquetas:
codigo procedimiento,
ejemplo paso de datso vba excel procedimiento,
excel vba code pasando datos entre procedimientos,
procedimientos datos vba excel
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)