Está en la página 1de 19

Diferencia entre Range y Cells

04/05/2013 by Fernando Santos | 3 Comments


Los objetos range y cells en la mayora de casos pueden ser utilizados sin
distincin alguna, sin embargo hay casos puntuales donde se recomienda el
uso de uno de los dos.
USO COMN
Para seleccionar una celda
Ejemplo:
Si se quiere seleccionar la celda C2, se tiene dos opciones.
Range(C2).select o Cells(2,3).select
* cells(i,j) , donde i=fila i ;
j=columna j.
Para dar valor a una celda
Ejemplo:
-Si se desea darle valor a la celda C2 =620, se tiene dos opciones
Range(C2).value=620 o Cells(2,3).value=620
PARTICULARIDADES
Objeto Range
Permite seleccionar mas de una celda.
Ejemplo:
range(A1:B5).select
*El objeto cells , no permite seleccionar mas de una celda.
Objeto Cells
Es compatible con seleccin de celdas bajo un patrn de formula. La ventaja
del uso del objeto cells, es permitir vincular funciones numricas al uso de las
celdas y/o a su seleccin.
Ejemplo:
Se desea conocer la suma que de la combinacin de una fila y columna,
entonces se establece el siguiente programa:
Sub celdasuma()
For i = 1 To 10 For j = 1 To 10
Cells(i, j).Value = i + j
Next i
Next j
End Sub

De esta forma se conocer lo propuesto en el ejemplo, asimismo los rangos


podrn ampliarse de acuerdo a lo deseado.
Elaborado por: Ana Ibez.

Compacin entre Range y Cells


19/11/2012 by Fernando Santos | 0 comments
Compacin entre Range y Cells
Existe un par de maneras para acceder las celdas de nuestras hojas utilizando
VBA. Podemos utilizar el objeto Range y tambin podemos utilizar el objeto
Cells.
El objeto Cells tiene como primer argumento el nmero de fila y como segundo
argumento el nmero de columna, el objeto no nos permite seleccionar un
rango porque solamente podemos especificar una celda a la vez.
Cells(5, 2).Select
Para seleccionar un rango de celdas lo ms conveniente es utilizar el objeto
Range de la siguiente manera:
Range(A1:D5).Select
Establecer valor a las celdas con los 2 objetos sealados, ejemplo:
Range(B5).Value = 100
Cells(5, 2).Value = 200
Ventaja del objeto cell
El objeto Cells ofrece una ventaja que debemos considerar cuando necesitamos
hacer un recorrido programtico por varias celdas ya que ser muy sencillo
especificar las filas y columnas utilizando una variable numrica.
Ejemplo
Sub AZUL()
For i = 4 To 40
For j = 2 To 10
Cells(i, j).Value = i * j
Next j

Next i
End Sub
Elaborado por: Frank Alvarez Espinoza

Ejemplo de adicin y eliminacin de elementos de un Combobox


21/04/2012 by Fernando Santos | 3 Comments
El control del ComboBox se usa para aadir elementos al cuadro
de combinaciones y para que el usuario pueda elegir entre ellas. Dependiendo
del valor (si est activo o no) se realiza una accin u otra.
Ejemplo: Un ejemplo que invulucre la adicin y eliminacin de elementos seria
en una situacion en la que un cine tiene que poner en su cartelera las peliculas
de la semana. Los titulos de las peliculas van cambiando cada semana por ello
creamos el siguiente procedimiento en un formulario:
Private Sub UserForm_Activate()
ult = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To ult
ComboBox1.AddItem (Cells(i, 1))
Next
End Sub
Private Sub CommandButton1_Click()
TextBox1.Text = ComboBox1.Value
End Sub
Este codigo permite que cuando se agregan o se quitan peliculas en la hoja
excel, inmediatamente se aade o se elimina del cuadro de combinaciones.
Como se muestra:

ANTES:

DESPUES: (Se ha eliminado una pelicula y se ha puesto otra)

Elaborado por: Juan Carlos Castillo

Creacin de grficos con macros (parte 1)


27/09/2011 by Fernando Santos | 4 Comments

Crear grficos puede resultar una tarea algo sencilla, cuando se requiere crear
los grficos de forma repetida, ya no resulta tan entretenido que digamos, y se
comienza a requerir que esto se pueda realizar de forma automtica, y esta
necesidad se hace an mas grave si necesitamos volver a crear este mismo
grfico con cada nuevo archivo que nos alcancen, o con un nmero importante
de datos pues bien este cometario servir para aprender ha realizar los
grficos de forma automtica (solo es un primer paso).
Primero asumamos que tenemos los datos listos para ser graficados.

Luego en nuestro mdulo coloquemos el siguiente programa, notemos que en


este programa estamos definiendo (por ahora) que se van a borrar los grficos

previos (si los hubiera), la ubicacin del grfico que vamos a crear, y el rango
de datos a emplear, tengamos presente que para indicar el rango de datos
podemos reemplazar el uso de range por cells:
.Chart.SetSourceData Source:=Sheets(Hoja1).Range(A1:A6)
.Chart.SetSourceData Source:=Cells(1, 1).Resize(6, 1)

Luego de ejecutado el programa se muestra el resultado tal como se ve a


continuacin.

Creacin de grficos con macros (parte 1)


27/09/2011 by Fernando Santos | 4 Comments
Crear grficos puede resultar una tarea algo sencilla, cuando se requiere crear
los grficos de forma repetida, ya no resulta tan entretenido que digamos, y se
comienza a requerir que esto se pueda realizar de forma automtica, y esta
necesidad se hace an mas grave si necesitamos volver a crear este mismo
grfico con cada nuevo archivo que nos alcancen, o con un nmero importante
de datos pues bien este cometario servir para aprender ha realizar los
grficos de forma automtica (solo es un primer paso).
Primero asumamos que tenemos los datos listos para ser graficados.

Luego en nuestro mdulo coloquemos el siguiente programa, notemos que en


este programa estamos definiendo (por ahora) que se van a borrar los grficos
previos (si los hubiera), la ubicacin del grfico que vamos a crear, y el rango
de datos a emplear, tengamos presente que para indicar el rango de datos
podemos reemplazar el uso de range por cells:
.Chart.SetSourceData Source:=Sheets(Hoja1).Range(A1:A6)
.Chart.SetSourceData Source:=Cells(1, 1).Resize(6, 1)

Luego de ejecutado el programa se muestra el resultado tal como se ve a


continuacin.

5 Funciones en VBA imprescindibles


15/12/2014 by Lesslie | 5 Comments
A continuacin vamos a describir 5 funciones que nos van a hacer de gran
utilidad programando con VBA
1.- FUNCIN PARA FECHAS Y NMEROS FORMAT
Esta funcin tomara una expresin ya sea en fecha o valor numrico y lo
devolver como una cadena con formato, es muy til.
Sintaxis: FORMAT (Expression, format)
Expression: es el valor ya sea en nmero o fecha para dar formato
Format: es el formato que se desea aplicar a la expresin
Para nmero
GENERAL NUMBER: muestra un nmero sin separador de miles y con todos los
decimales (444309943.34779)
CURRENCY: muestra y redondea a dos dgitos a la derecha de decimal.
(444309943.35)
STANDARD: muestra los separadores de miles, y redondea a dos dgitos a la
derecha de decimal. (444,309,943.35)
PERCENT muestra un valor en trminos porcentuales (multiplicado por 100) y
muestra 2 dgitos a la derecha del decimal. (44430994334.78%)
SCIENTIFIC muestra el numero en notacin cientfica (4.44E+08)

Para ver el ejemplo, hacer clic en el siguiente enlace. FUNCION FORMATNUMBER


Para fecha
LONG DATE: Permite obtener la fecha en formato escrito totalmente completo.
(sbado, 27 de enero de 2001)
MEDIUM DATE: Permite obtener la fecha en formato completo (27-ene-01)
D : Permite obtener el nmero del da (27)
SHORT DATE fecha en formato corto (27/01/2001)

LONG TIME: permite obtener la hora actual en formato largo completo


(17:04:23)
SHORT TIME: hora en formato completo(17:04)

Para ver el ejemplo, hacer clic en el siguiente enlace. FUNCION FORMAT-DATE

2.- FUNCIN PARA PRESENTAR MENSAJES MSGBOX


Esta funcin es importante porque nos ayudara a mostrar mensajes en un
cuadro de dialogo
Sintaxis: MSGBOX(prompt, buttons, title, helpfile, context)
Prompt(obligatoria): es el mensaje de cadena que se mostrara como mensaje
en el cuadro de dialogo.
Buttons (opcional): es la suma de los valores que especifican el nmero y tipo
de botones para mostrar, el estilo de icono a utilizar, la identidad del botn
predeterminado, y la modalidad del cuadro del mensaje.
Title (opcional): es la expresin que se mostrara en la barra de ttulo del cuadro
de dialogo.
Helpfile (opcional): identifica el archivo de Ayuda d usar para proporcionar
ayuda contextual para el cuadro de dialogo.
Context (opcional): expresin numrica que es el nmero de contexto de Ayuda
Asignado al tema de Ayuda apropiado por el autor
Ejemplo: Msgbox(prompt, buttons , title)

Para ver el ejemplo, hacer clic en el siguiente enlace. FUNCION MSGBOX

3.- FUNCIN PARA CONDICIN FOR NEXT

Realizara la repeticin de un conjunto de instrucciones un determinado numero


de veces, hasta que cumpla la condicin que hayamos especificado.
Sintaxis: FOR (inicio de la variable) TO (limite de la variable)
(instrucciones que se repetirn)
Next variable
Ejemplo
Si deseamos que se muestre una ventana de dialogo 10 veces y en cada una
mostraremos el valor actual de la variable i que comenzara con 1 t terminara
con 5.

Para ver el ejemplo, hacer clic en el siguiente enlace. FUNCION FOR NEXT
4.- FUNCIN PARA NMEROS ROUND
Una de las principales funciones para nmeros es la Funcin Round, la cual se
usa para poder redondear un nmero con decimales. Si el valor a redondear
tiene parte decimal menor a 0.5 el valor obtenido ser igual a la parte entera
del nmero ingresado, pero si el valor a redondear tiene parte decimal mayor o
igual a 0.5 el valor obtenido ser igual al entero inmediato superior del numero
ingresado.
Sintaxis: ROUND(number, NumDigitsAfterDecimalAsLong)
Number: la expresin numrica que deseamos redondear (Obligatorio)
NumDigitsAfterDecimalAsLong: Cantidad de decimales a las que deseamos
redondear (opcional)
EJEMPLO
Si tenemos la siguiente lista de notas y deseamos redondearla con macros,
utilizaremos la funcin Round

Para ver el ejemplo, hacer clic en el siguiente enlace. FUNCION ROUND

5.- FUNCIN PARA TEXTO LCASE-UCASE

Estas funciones de cadena nos van ayudar a trabajar y a tratar cadenas de


caracteres.
Funcin LcASE y UcasEstas dos funciones se utilizan para convertir cadenas de
texto a minscula y mayscula.
En el caso de Lcase, cambia o convierte una cadena de texto a minscula.
Ucase funciona de la misma manera solo que en vez de convertir la cadena a
minscula, convierte todo el texto a mayscula.
EJEMPLO

Para ver el ejemplo, hacer clic en el siguiente enlace.FUNCION Lcase


Por: Lesslie

Algunas formas de Copiar Hojas en VBA


10/11/2012 by Fernando Santos | 2 Comments
COPIAR HOJAS EN VBA
El objeto Workbook representa un libro de Excel y el objeto Worksheet
representa una hoja de un libro de Excel. Asimismo, un libro de Excel puede
tener ms de una hoja lo cual significa que un objeto Workbook puede contener
ms de un objeto Worksheet.
Podemos utilizar Microsoft Visual Basic para Aplicaciones de cdigo (VBA) para
copiar o mover hojas dentro de un libro o entre libros. Esto es especialmente
til si se desea mover o copiar el nmero de hojas o si queremos realizar varias
copias de una hoja..
1

Copiar en el mismo libro

Para realizar una copia dentro del mismo libro de Excel se puede utilizar
la siguiente instruccin:

Por lo tanto al ejecutar la macro se copiar la hoja llamada Tarea1 y la


colocar justo despus de la hoja llamada Tarea2. El parmetro After es
el encargado de indicar que la copia se colocar despus de la hoja Final.

Si quisiramos colocar la hojainicial antes de la hojaFinal


utilizaramos el parmetro Before:

Worksheets(Tarea1).Copy Before:=Worksheets(Tarea2)

Si queremos colocar la copia de la hojainicial hasta el final de todas


las hojas podemos hacer uso de la propiedad Sheets.Count que nos
ayuda a saber el nmero total de hojas de un libro.

Worksheets(Tarea1).Copy After:=Sheets(Sheets.Count)

Tambin es posible utilizar la posicin de la Hoja dentro de la coleccin


Worksheets. Por ejemplo, si la hoja llamada hojainicial es la segunda
hoja dentro del libro, se puede colocar:

Worksheets(2).Copy After:=Sheets(Sheets.Count)
De esta manera se realizar siempre la copia de la segunda hoja del libro sin
importar su nombre.
2

Copiar a un libro diferente

Si deseamos hacer la copia de una hoja hacia un libro diferente se debe


especificar tanto el libro origen como el libro destino. Por ejemplo, queremos
copiar la primera hoja del Libro1 y colocarla en el Libro2 despus de la tercera
hoja.
Workbooks(Libro1).Worksheets(1).Copy
After:=Workbooks(Libro2).Sheets(3)
Es importante que ambos libros estn abiertos para que se pueda realizar la
copia adecuadamente.
**Realizado por Paola Vargas Vejarano**

También podría gustarte