La funcion MsgBox
Creo que ya empleamos en algunos ejemplos esta función ...pero es mejor que sobre conocimientos a que falte.
Esta funcion nos mostrara un cuadro de dialogo con el que el usuario podra interactuar.
La sintaxis consta de 5 argumentos
Ejemplo
-------
Msgbox (prompt [,buttons] [,title] [helpfile,context])
*los argumentos entre corchete son opcionales
-prompt :El mensaje desplegado instantaneamente en el cuadro.
-Buttons :Indicaremos que botones e iconos aparecen.
-Title :Por defecto aparecera Excel en el caso no indiquemos alguno.
-Helpfile:El nombre de la fila de ayuda asociado con el cuadro de dialogo
-Context :Representa un topico de ayuda
'--------------------------------
Sub ejemplo_msgboxvba()
MsgBox "!Accion no permitida!...", vbCritical, "Precaución"
res = MsgBox("¿Deseas Continuar?", _
vbYesNo + vbQuestion, "Lista de precios")
End Sub
*Si la respuesta es afirmativa el valor de la variable res sera 6
en el caso contrario sera 7
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, 13 de julio de 2008
domingo, 22 de junio de 2008
InputBox(cuadro de entrada)

'Cuadro de dialogo de entrada
'
'Nos permitira ingresar un texto,numero o rango
'
'Sintaxis para funcion InputBox de VBA
'
'
'InputBox([prompt],[Title],[Default],{xpos],[ypos],[help file,context])
'
'Prompt : Es el texto mostrado en el cuadro de dialogo
'
'Title :(opcional)Texto de titulo para el cuadro de dialogo
'
'Default :Valor por defecto mostrado en el cuadro de dialogo
'
'Xpos,Ypos :La patalla se ubicar segun las cordenadas
'
'Helpfile ,context (opcional).el archivo de ayuda
'
'Type :Opcional.El tipo de dato devuelto como se ve en la siguiente tabla.
'
'codigo --> SIGNIFICADO
'------
'0 -----> Una fórmula
'1 -----> Un numero
'2 -----> Una cadena(texto)
'4 -----> Un valor logico(True o False)
'8 -----> Una celda de referencia ,como un objeto de rango
'16 -----> Un error de valor,como #N/A
Sub nombres()
Dim i As String
Dim a As Integer
Range("A1:A20").Select 'selecccionamos rango de trabajo
For a = 0 To Selection.Cells.Count 'relizar repeticiones para cada una de las celdas
i = (InputBox("Ingrese su nombre", "Nombre")) 'recuperamos ldsa cadena del input box
ActiveCell.Offset(a, 0).Value = i 'bajamos por las celdas de la seleccion de 1 en 1
Next a
End Sub
Sub beneficio()
Dim u As Long
Do
u = Val(InputBox("Ingrese beneficio", "Beneficio logrado"), "x") 'recuperar beneficio
Loop While u > 0 'CONTINUAR MIENTRAS > 0
End Sub
Etiquetas:
ejemplo inputbox vba,
excel inputbox macros,
macro inputbox,
vba inputbox
sábado, 17 de mayo de 2008
Arrays
Arrays Dinámicos
Lo emplearemos Cuando el numero de elementos para una dimensión del array no sean las mismas.
Dim ArrayDinamic() 'dejamos vacios los parentesis
Sub recontar_items
ReDim Array(a) 'para asignar el espacio al array
Array(a) =34 *pero ojo que los valores no se mantendran
'si deseamos conservar los valores emplaremos
redim preserve nombrearray(numero)=valor
Redim preserve Array(a)=34 'conservamos los valores
End sub
La sentencia ReDim permite cambiar el número de elementos del array, no el número de dimensiones.
Por ejemplo, si declaramos el array_A a nivel de un módulo.
Private Array_A() as Integer
Para asignarle espacio al array utilizamos:
ReDim Array_A(5)
Cada vez que se ejecuta la sentencia ReDim, todos los valores almacenados en el array se pierden. Cuando le interese cambiar el tamaño del array conservando los valores del array,
use ReDim con la palabra clave Preserve.
Por ejemplo
ReDim Preserve Array_A(8)
Lo emplearemos Cuando el numero de elementos para una dimensión del array no sean las mismas.
Dim ArrayDinamic() 'dejamos vacios los parentesis
Sub recontar_items
ReDim Array(a) 'para asignar el espacio al array
Array(a) =34 *pero ojo que los valores no se mantendran
'si deseamos conservar los valores emplaremos
redim preserve nombrearray(numero)=valor
Redim preserve Array(a)=34 'conservamos los valores
End sub
La sentencia ReDim permite cambiar el número de elementos del array, no el número de dimensiones.
Por ejemplo, si declaramos el array_A a nivel de un módulo.
Private Array_A() as Integer
Para asignarle espacio al array utilizamos:
ReDim Array_A(5)
Cada vez que se ejecuta la sentencia ReDim, todos los valores almacenados en el array se pierden. Cuando le interese cambiar el tamaño del array conservando los valores del array,
use ReDim con la palabra clave Preserve.
Por ejemplo
ReDim Preserve Array_A(8)
Arrays
Ejemplo Array multidimensional
2 dimensiones
ReDim Arrjugadores(0 to 1, 0 to 11) As String
'Mejores futobolistas Europa
Arrjugadores(0, 0) = "Zinedine Zidane "
Arrjugadores(0, 1) = "Henry"
Arrjugadores(0, 2) = "Owen"
Arrjugadores(0, 3) = "Raul"
Arrjugadores(0, 4) = "Ruud van Nistelrooy"
Arrjugadores(0, 5) = "Shevchenko"
Arrjugadores(0, 6) = "Lilian Thuram"
Arrjugadores(0, 7) = "Nesta"
Arrjugadores(0, 8) = "Davor Zucker"
Arrjugadores(0, 9) = "Bergkamp"
Arrjugadores(0, 10) = "Figo"
Arrjugadores(0, 11) = "Cristiano Ronaldo"
'Mejores futobolistas America
Arrjugadores(1, 0) = "Ronaldo"
Arrjugadores(1, 1) = "Batistuta"
Arrjugadores(1, 2) = "Enzo Franchescoli"
Arrjugadores(1, 3) = "Romario"
Arrjugadores(1, 4) = "Ortega"
Arrjugadores(1, 5) = "Ronaldinho"
Arrjugadores(1, 6) = "Roberto carlos"
Arrjugadores(1, 7) = "Emerson"
Arrjugadores(1, 8) = "KaKa"
Arrjugadores(1, 9) = "Rivaldo"
Arrjugadores(1, 10) = "Adriano"
Arrjugadores(1, 11) = "Gamarra"
*Para borrar los elementos del array
erase Arrjugadores
2 dimensiones
ReDim Arrjugadores(0 to 1, 0 to 11) As String
'Mejores futobolistas Europa
Arrjugadores(0, 0) = "Zinedine Zidane "
Arrjugadores(0, 1) = "Henry"
Arrjugadores(0, 2) = "Owen"
Arrjugadores(0, 3) = "Raul"
Arrjugadores(0, 4) = "Ruud van Nistelrooy"
Arrjugadores(0, 5) = "Shevchenko"
Arrjugadores(0, 6) = "Lilian Thuram"
Arrjugadores(0, 7) = "Nesta"
Arrjugadores(0, 8) = "Davor Zucker"
Arrjugadores(0, 9) = "Bergkamp"
Arrjugadores(0, 10) = "Figo"
Arrjugadores(0, 11) = "Cristiano Ronaldo"
'Mejores futobolistas America
Arrjugadores(1, 0) = "Ronaldo"
Arrjugadores(1, 1) = "Batistuta"
Arrjugadores(1, 2) = "Enzo Franchescoli"
Arrjugadores(1, 3) = "Romario"
Arrjugadores(1, 4) = "Ortega"
Arrjugadores(1, 5) = "Ronaldinho"
Arrjugadores(1, 6) = "Roberto carlos"
Arrjugadores(1, 7) = "Emerson"
Arrjugadores(1, 8) = "KaKa"
Arrjugadores(1, 9) = "Rivaldo"
Arrjugadores(1, 10) = "Adriano"
Arrjugadores(1, 11) = "Gamarra"
*Para borrar los elementos del array
erase Arrjugadores
Etiquetas:
ARRAYS EJEMPLOS,
arrays vb,
ejemplo array multimensional,
macros array,
vba arrays
domingo, 11 de mayo de 2008
Arrays
Arrays
Mediante un array podemos refererirnos a una "serie de elementos" por un "mismo nombre" y referenciara un elemento de la serie por un numero de indice.
ArraySuperClubes(1)="Real Madrid"
ArraySuperClubes(2)="Barcelona"
ArraySuperClubes(3)="Milan"
ArraySuperClubes(4)="Inter de Milan"
ArraySuperClubes(5)="Manchester United"
En este ejemplo lo comprobaremos con mayor claridad
1) Nos referimos a una serie de elementos por un mismo nombre en este caso sera ArraySuperClubes.
Por ejemplo bastaria algo como la sgte instruccion para cargar los elementos de nuestro array en un control listbox1
ArraySuperClubes representa a los 5 elementos de nuestro array
listbox1.list=ArraySuperClubes
2) Referenciamos a un elemento de la serie por un numero de indice.
Por ejemplo
Si quisieramos referenciar al elemento "3" de nuestro ArraySuperClubes()
Msgbox ArraySuperClubes(3)
nota:Al igual que con la declaración de variables debemos tener en cuenta
Arrays de variables (estático)
Significa que nuestro array tendra un numero fijo de elementos
Aqui es importante tener en cuenta el ambito de declaración del array tal y como
se hace con las variables de manera cotidiana.
-Es decir a nivel de procedimiento , modulo o pubico (disponible para todo el proyecto)
Ejemplos:
Dim Array_Spain(20) as string
'se declaro un array de 21 elementos que van desde el indice cero..
Array_Spain(0),
Array_Spain(1),
Array_Spain(21)
Dim ArrayBidimensionalXy(1 to 4,1 to 4)as integer
'se declaro array de 2 dimensiones
ArrayBidimensional, con 4*4 elementos ArrayBidimensional(1,1)...ArrayBidimensional(4,4)
Public New_X(1 To 20) As String *20
Public New_X(1)...Public New_X(20),
cada elemento permite almacenar una cadena de (20 caracteres).
Mediante un array podemos refererirnos a una "serie de elementos" por un "mismo nombre" y referenciara un elemento de la serie por un numero de indice.
ArraySuperClubes(1)="Real Madrid"
ArraySuperClubes(2)="Barcelona"
ArraySuperClubes(3)="Milan"
ArraySuperClubes(4)="Inter de Milan"
ArraySuperClubes(5)="Manchester United"
En este ejemplo lo comprobaremos con mayor claridad
1) Nos referimos a una serie de elementos por un mismo nombre en este caso sera ArraySuperClubes.
Por ejemplo bastaria algo como la sgte instruccion para cargar los elementos de nuestro array en un control listbox1
ArraySuperClubes representa a los 5 elementos de nuestro array
listbox1.list=ArraySuperClubes
2) Referenciamos a un elemento de la serie por un numero de indice.
Por ejemplo
Si quisieramos referenciar al elemento "3" de nuestro ArraySuperClubes()
Msgbox ArraySuperClubes(3)
nota:Al igual que con la declaración de variables debemos tener en cuenta
Arrays de variables (estático)
Significa que nuestro array tendra un numero fijo de elementos
Aqui es importante tener en cuenta el ambito de declaración del array tal y como
se hace con las variables de manera cotidiana.
-Es decir a nivel de procedimiento , modulo o pubico (disponible para todo el proyecto)
Ejemplos:
Dim Array_Spain(20) as string
'se declaro un array de 21 elementos que van desde el indice cero..
Array_Spain(0),
Array_Spain(1),
Array_Spain(21)
Dim ArrayBidimensionalXy(1 to 4,1 to 4)as integer
'se declaro array de 2 dimensiones
ArrayBidimensional, con 4*4 elementos ArrayBidimensional(1,1)...ArrayBidimensional(4,4)
Public New_X(1 To 20) As String *20
Public New_X(1)...Public New_X(20),
cada elemento permite almacenar una cadena de (20 caracteres).
Etiquetas:
ARRAYS EJEMPLOS,
ARRAYS ESTATICOS,
Arrays VBA EXCEL,
buvles for next vba excel vba bucles excel,
EXCEL VB CODE,
MACROS VBA EJEMPLO ARRAY,
vba,
VBA CODE EJEMPLO,
VBA EXCEL ARRAYS
domingo, 20 de abril de 2008
For Each ..Next
La instruccion For Each..Next repite instrucciones para cada uno de los objetos de una colección
determinada.
Modificaremos un poco un ejemplo visto anteriormente sobre los colores del libro para
obtener el mismo resultado.
Pero esta vez haremos referencia a colecciones de objetos.
Sub obtener_los_56_colores()
'aqui es conocido que El Excel maneja una paleta de 56 colores
'entonces sabemos tambien que es necesario repetir cierta seccion del codigo
Dim rango_a_pintar As Range
Dim celda As Range
Dim a As Byte
Set rango_a_pintar = Range("A1:A56") 'asignamos el rango que necesitamos
For Each celda In rango_a_pintar 'repetir en cada uno de los elementos de la coleccion
a = a + 1
celda.Interior.ColorIndex = a 'asignar colores del libro a respectiva celda
Next celda
End Sub
determinada.
Modificaremos un poco un ejemplo visto anteriormente sobre los colores del libro para
obtener el mismo resultado.
Pero esta vez haremos referencia a colecciones de objetos.
Sub obtener_los_56_colores()
'aqui es conocido que El Excel maneja una paleta de 56 colores
'entonces sabemos tambien que es necesario repetir cierta seccion del codigo
Dim rango_a_pintar As Range
Dim celda As Range
Dim a As Byte
Set rango_a_pintar = Range("A1:A56") 'asignamos el rango que necesitamos
For Each celda In rango_a_pintar 'repetir en cada uno de los elementos de la coleccion
a = a + 1
celda.Interior.ColorIndex = a 'asignar colores del libro a respectiva celda
Next celda
End Sub
Estructuras de Repeticion (Bucles For ..Next )
Las estructuras For...Next las emplearemos en los casos cuando s conocemos el numero de veces que es necesario repetir la ejecuion de determinadas instrucciones
Sub obtener_los_56_colores()
'aqui es conocido que Excel maneja una paleta de 56 colores
'entonces sabemos tambien que es necesario repetir cierta seccion del codigo
Dim a As Byte
Range("A1:A56").Select
For a = 1 To 56 'repetir 56 veces
Selection.Cells(a).Interior.color = ActiveWorkbook.Colors(a)
'asignar colores del libro a la respectiva celda
Next a
End Sub
Sub obtener_los_56_colores()
'aqui es conocido que Excel maneja una paleta de 56 colores
'entonces sabemos tambien que es necesario repetir cierta seccion del codigo
Dim a As Byte
Range("A1:A56").Select
For a = 1 To 56 'repetir 56 veces
Selection.Cells(a).Interior.color = ActiveWorkbook.Colors(a)
'asignar colores del libro a la respectiva celda
Next a
End Sub
Suscribirse a:
Entradas (Atom)