INICIO MANUALES GUÍAS TEMÁTICAS APLICACIONES

FUNCIONES

MACROS DESCARGAS CORREO
 

MAPA DEL SITIO

Anterior  Página:  1  2  3  [4]

 

 

Trabajando con Colecciones

 

En esta sección aparecerán algunas de las instrucciones 'básicas' para utilizar con COLECCIONES. Una vez copiada en el Editor, colocar el cursor sobre la palabra en negrita y presionar F1 para acceder a la Ayuda Excel. Allí se encontrarán más explicaciones y ejemplos para esa instrucción.

 

Una colección es un conjunto de objetos del mismo tipo: hojas, celdas, controles o Shapes, imágenes.

Para trabajar con una colección se programa un bucle: es decir repetir la misma instrucción para cada elemento de la colección.

 

A continuación algunos ejemplos del bucle: For Each....Next

 

 

Ejemplo1: introducir un nombre para cada hoja del libro activo. Esta rutina se coloca en un módulo:

 

Sub nombraHojas()
Dim MiNombre As String
Dim hoja As Worksheet
For Each hoja In Worksheets
   MiNombre = InputBox("Ingrese nombre de hoja: ")
   hoja.Name = MiNombre
Next hoja
End Sub

 

Ejemplo2: introducir valores para cada celda de un rango (se coloca en un módulo)

 

Sub colocaValores()

Dim celdita as Range
For Each celdita in ActiveSheet.Range("A1:B10")
    celdita.Value = InputBox("Ingrese valor: ")
Next celdita

End Sub

 

Ejemplo3: introducir los mismos valores en celdas de todas las hojas (se coloca en un módulo)

 

Sub valoresHoja()

Dim hoja as Sheets
For Each hoja in Sheets
    hoja.Range("E3").Value = Date
    hoja.Range("F3").Value = Time
Next hoja

End Sub

 

OTRO TIPO DE BUCLES:

 

Ejemplo1: realizar una acción por cada valor que tome una variable i (se coloca en un módulo)

 

Sub muestraNombre()

Dim i as Byte
Dim hoja as Worksheet
For i=1 to 5
   Msgbox WorkSheets(i).Name
Next

End Sub

 

En este ejemplo se muestra el nombre de cada hoja, desde la nro 1 a la 5

 

Ejemplo2: realizar una acción mientras se cumpla una condición (se coloca en un módulo)

 

Sub recorreRango()

'Se recorre la col A a partir de la fila 2 hasta encontrar una celda vacía.

'El valor de cada celda se incrementa en 1

Range("A2").Select
While Activecell.Value <> ""
ActiveCell.Value = ActiveCell.Value + 1

Wend

End Sub

 

 

 

 

Trabajando con Objetos

 

A continuación algunos ejemplos de cómo llamar a objetos insertados en hoja, como ser Cuadros de texto, Listas o Cuadros combinados y también un Userform.

1- Llamando a un Userform, desde un botón:
En una hoja de Excel, los botones que lanzan una acción, pueden ser colocados con la barra de Formularios o Cuadro de Controles.

  1. Botón de formulario: se asigna una macro, como la del ejemplo, que previamente se escribió en un módulo en el Editor de Visual Basic. Ejemplo:

Sub mostrando ()

UserForm1.Show      'nombre del Userform que se desea mostrar

End Sub

  1. Botón del Cuadro de controles: una vez dibujado en la hoja, clic derecho, opción Ver código y escribir la rutina (ésta se habilita en la hoja donde aparecerá el control).  Ejemplo:

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
 

2- Asignando valores a los Cuadros de texto: 

Ejemplos de cómo registrar datos en los textbox dibujados en hoja con la barra 'Cuadro de controles'.

 

Nota: Estas instrucciones como las del punto 3 y 4, se colocan dentro de alguna rutina general, como puede ser un botón para guardar o aceptar.
 

TextBox1.Value = "CANCELADO"

TextBox2 = Sheets("Hoja3").Range("A5").Value

TextBox2 = Range("C1").Value + Range("C2").Value

 

Notese que en Textbox2 se omitió la expresión 'value' ya que esa es su propiedad predeterminada. Puede colocarse o no.

3- Volcar datos de un control Textbox y Combobox a la hoja:
Estos controles han sido dibujados con la barra 'Cuadro de controles'

'pasar datos de un control Textbox a la celda indicada en Cells(fila,col)

Cells(fila, col).Value = TextBox1.Value

 

'pasar el valor de un combo a la fila siguiente de la indicada en Cells(fil, col)
Sheets("Hoja1").Cells(fila, col).Offset(1, 0).Value = Combobox1.Value


4- Asignar rango a un control Listbox y Combobox:
Estos controles han sido dibujados en la hoja con la barra 'Formularios'

'asignar rango de entrada al control Lista

ActiveSheet.Shapes("List Box 1").Select     
With Selection
.ListFillRange = "$F$1:$F$4"

End With
 

'asignar rango de entrada al control Combobox
ActiveSheet.Shapes("Drop Down 1").Select
With Selection
.ListFillRange = "$K$1:$K$7"

End With

 

* Otra manera de asignar rango. En este caso el control se dibujó con la barra ActiveX o Cuadro de Controles:

 

ActiveSheet.ListBox1.ListFillRange = "$F$1:$F$4"
 


5- Cargar datos a un control ListBox de un UserForm:

Private Sub UserForm_Activate()
Dim item As Variant
For Each item In Range("F1:F6")
ListBox1.AddItem item.Value
Next item
End Sub

 

 

 

Anterior  Página:  1  2  3  [4]

INICIO

 

MANUALES

Programación_Excel

400Macros Plus

UF y Formularios en gral

Herramientas Excel (2000 al 2007)

 Guías Temáticas I

 

GUÍAS TEMÁTICAS

 Listas desplegables

 Comparando datos

 Imágenes en Excel

 Correo desde Excel

 Mover-Copiar datos

 

APLICACIONES

Gestor de Ventas

Gestor de Documentos

Gestor Contable

 

 

 

FUNCIONES

Base de Datos

Búsqueda y Referencias

Estadísticas

Externas

Fecha y Hora

Financieras

Información

Lógicas

Matemáticas y Trigonomét.

Texto

 

VBA

Conceptos básicos
Macros

Cómo crear una macro

El Editor

Eventos

Lenguaje

Formulario

Dónde colocar las macros

Cómo ejecutar una macro

Resultado de un evento

Utilizando un botón

Utilizando un atajo de teclado

Desde el menú Herramientas

Referencias

 

Instrucciones básicas

Trabajando con Libros
Trabajando con hojas
Trabajando con celdas
Trabajando con una colección
Trabajando con objetos

 

 

DESCARGAS

Ejemplos gratuitos para Descargar
Clic aquí para acceder a lista de ejemplos para descargar gratuitamente

 

 

 

 


 

COLECCIÓN MANUALES EXCEL

 

 

   

 

 


 

 

 

Tu sitio para obtener soluciones en Excel. Desarrollos, mantenimiento y optimización de libros, aplicaciones a medida

Consultas desde aquí

 

 

 


 

 

 

 

 

Inicio      Manuales      Guías Temáticas      Aplicaciones      Funciones      VBA Excel      Descargas      Correo