En más de una ocasión quienes trabajamos con Macros en Excel nos encontramos con la necesidad de seleccionar una celda o un rango de celdas de Excel.
Cómo seleccionar una celda en una hoja activa
Para seleccionar la celda A5 en la hoja activa, puede utilizar cualquiera de los ejemplos siguientes:
a) ActiveSheet.Cells(1, 1).Select
b) ActiveSheet.Range("A5").Select
Cómo seleccionar una celda en otra hoja del mismo libro
Para seleccionar la celda B6 en otra hoja del mismo libro, puede utilizar cualquiera de los ejemplos siguientes:
a) Application.Goto ActiveWorkbook.Sheets("[Nombre_Hoja]").Cells(2, 5)
b) Application.Goto (ActiveWorkbook.Sheets("[Nombre_Hoja]").Range("B6"))
c) Sheets("[Nombre_Hoja]").Activate
ActiveSheet.Cells(2,5).Select
Cómo seleccionar una celda en una hoja de un libro diferente
Para seleccionar la celda C3 en una hoja de un libro diferente, puede utilizar cualquiera de los ejemplos siguientes:
a) Application.Goto Workbooks("BOOK2.XLS").Sheets("[Nombre_Hoja]").Cells(3,3)
b) Application.Goto Workbooks("BOOK2.XLS").Sheets("[Nombre_Hoja]").Range("C3")
c) Workbooks("[Nombre_Archivo").Sheets("[Nombre_Hoja]").Activate
ActiveSheet.Cells(3, 3).Select
Cómo seleccionar un rango de celdas en otra hoja del mismo libro
Para seleccionar el rango A2:C8 en otra hoja del mismo libro, puede utilizar cualquiera de los ejemplos siguientes:
a) Application.Goto ActiveWorkbook.Sheets("[Nombre_Hoja]").Range("A2:C8")
b) Application.Goto ActiveWorkbook.Sheets("[Nombre_Hoja]").Range("A2", "C8")
c) Sheets("[Nombre_Hoja]").Activate
ActiveSheet.Range(Cells(1, 2), Cells(3, 8)).Select
Eres de Martorell, Abrera, Castellbisbal, Castellvi, La Beguda, Masquefa, Sant Andreu de la Barca, Sant Esteve Sesrovires. El ordenador se te cuelga? Se cierra el navegador o se te abren páginas extrañas? Te fallan aplicaciones? Te sale una pantalla azul o negra? Tu ordenador portátil está raro y no sabes que le puede suceder? No se enciende? Quieres comprarte uno? Envía mensaje sin compromiso, hablamos de qué hay que hacer y veo si puedo solucionarlo o ayudarte.
VBA Instrucciones Macros
Desactivar el parpadeo o actualizacion de pantalla al ejecutarse una macro.
Application.ScreenUpdating = False
Desactivar mensajes de alerta a la hora de ejecutar procesos
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Desactivar mensajes de alerta a la hora de ejecutar procesos
Application.DisplayAlerts = False
VBA Procesos para Graficos
Proceso para averiguar el nombre del gráfico.
MsgBox ActiveChart.Name
Proceso para cambiar nombre del gráfico
Worksheets("[Nombre Hoja]").ChartObjects("[Nombre_Grafico]").Name = "[Nuevo Nombre]"
Proceso para cambiar el titulo al gráfico.
Gráfico incrustado:
Application.Workbooks("[Nombre_libro]").Worksheets("[Nombre Hoja]").ChartObjects("[Nombre_Grafico]").Chart.ChartTitle.Text = "[Nuevo Titulo]"
Application.Workbooks("[Nombre_libro]")--> de estas instrucciones podemos prescindir ya que estamos en ellos.
Gráfico Hoja Independiente:
Sheets ["Nombre_Grafico]").ChartTitle.Text = "[Nuevo Titulo]"
Proceso para cambiar un gráfico de Incrustado a Independiente
Worksheets("[Nombre_Hoja]").ChartObjects("[Nombre_Grafico").Chart.Location xlLocationAsNewSheet, "[Nombre_Nueva_Hoja]"
El proceso inverso, de Independiente a Incrustado
Charts ("Grafico1").Location xlLocationAsNewSheet, "[Nombre_Hoja]"
Proceso para activar el gráfico
Worksheets("[Nombre_Hoja]").ChartObjects("[Nombre_Grafico").Activate
Cambiar tipo de gráfico
activechart.type = XLl[tipo_grafico]
Crear boton y eliminar graficos de la hoja.
Dentro del botón pegar esta instrucción
Activesheet.chartobjects.delete
Crear boton activex para poder cambiar el formato del gráfico.
Hay muchas mas instrucciones aqui algunas de ellas.
ActiveSheet.ChartObjects("[Nombre_Grafico").Activate
With ActiveChart
.Type = xlArea
.ChartArea.Font.Name = "[Tipo_Letra]"
.ChartArea.Font.Size = "[Tamaño_Letra]"
.PlotArea.Interior.Color = vb[Color_en_Ingles
.Axes(xlValue).TickLabels.Font.[Tipo_Fuente] = True
.Axes(xlCategory).TickLabels.Font.[Tipo_Fuente] = True
.Legend.Position = xlLegendPositionBottom
End With
Modificar todos los graficos incrustados en la hoja
dim [nombre_variable] as chartobject
for each [nombre_variable] in Activesheet.ChartObject
[colocar las instrucciones a efectuar ]
next [nombre_variable]
MsgBox ActiveChart.Name
Proceso para cambiar nombre del gráfico
Worksheets("[Nombre Hoja]").ChartObjects("[Nombre_Grafico]").Name = "[Nuevo Nombre]"
Proceso para cambiar el titulo al gráfico.
Gráfico incrustado:
Application.Workbooks("[Nombre_libro]").Worksheets("[Nombre Hoja]").ChartObjects("[Nombre_Grafico]").Chart.ChartTitle.Text = "[Nuevo Titulo]"
Application.Workbooks("[Nombre_libro]")--> de estas instrucciones podemos prescindir ya que estamos en ellos.
Gráfico Hoja Independiente:
Sheets ["Nombre_Grafico]").ChartTitle.Text = "[Nuevo Titulo]"
Proceso para cambiar un gráfico de Incrustado a Independiente
Worksheets("[Nombre_Hoja]").ChartObjects("[Nombre_Grafico").Chart.Location xlLocationAsNewSheet, "[Nombre_Nueva_Hoja]"
El proceso inverso, de Independiente a Incrustado
Charts ("Grafico1").Location xlLocationAsNewSheet, "[Nombre_Hoja]"
Proceso para activar el gráfico
Worksheets("[Nombre_Hoja]").ChartObjects("[Nombre_Grafico").Activate
Cambiar tipo de gráfico
activechart.type = XLl[tipo_grafico]
Crear boton y eliminar graficos de la hoja.
Dentro del botón pegar esta instrucción
Activesheet.chartobjects.delete
Crear boton activex para poder cambiar el formato del gráfico.
Hay muchas mas instrucciones aqui algunas de ellas.
ActiveSheet.ChartObjects("[Nombre_Grafico").Activate
With ActiveChart
.Type = xlArea
.ChartArea.Font.Name = "[Tipo_Letra]"
.ChartArea.Font.Size = "[Tamaño_Letra]"
.PlotArea.Interior.Color = vb[Color_en_Ingles
.Axes(xlValue).TickLabels.Font.[Tipo_Fuente] = True
.Axes(xlCategory).TickLabels.Font.[Tipo_Fuente] = True
.Legend.Position = xlLegendPositionBottom
End With
Modificar todos los graficos incrustados en la hoja
dim [nombre_variable] as chartobject
for each [nombre_variable] in Activesheet.ChartObject
[colocar las instrucciones a efectuar ]
next [nombre_variable]
VBA estructuras control de flujo
Estructuras de control de flujo en Visual Basic Application (VBA):
* Condicionales
- If - then
- Then - case
* Bucles
- Determinados: conocemos las veces que se ejecutará el codigo en su interior.
. For - Next
. For - each - next
- Indeterminados: no conocemos las veces que se ejecutará el codigo en su interior.
. Do - loop
. While - wend
. Do - until
* Goto: No aconsejable su uso (codigo espaghetti) excepto para el uso de VBA: captura de errores.
* Condicionales
- If - then
- Then - case
* Bucles
- Determinados: conocemos las veces que se ejecutará el codigo en su interior.
. For - Next
. For - each - next
- Indeterminados: no conocemos las veces que se ejecutará el codigo en su interior.
. Do - loop
. While - wend
. Do - until
* Goto: No aconsejable su uso (codigo espaghetti) excepto para el uso de VBA: captura de errores.
VBA Constantes
La instrucción Const se utiliza para declarar una constante y establecer su valor. Al declarar una constante, puede asignar un nombre significativo a un valor. Una vez que se declara una constante, no se puede modificar ni se le puede asignar un nuevo valor.
- byte = 0 a 255
- boolean = True (verdadero) o false (Falso)
- integer = nº entero (Desde -32768 al 32767)
- long = nº enteros largos
- single = nº decimales (parte decimal corta)
- double = nº decimales (parte decimal larga)
- currency = tipo moneda
- decimal = nº decimales (parte decimal extremadamente larga)
- object = objeto
- string = cadena de caracteres - estos valores siempre van entre comillas
- variant = sin especificar (comodín) mejor no usarlo.
Depende el tipo de datos abarca muchos mas recursos.
CONST 'nombre' as [tipo de valor]
Podemos declarar una constante de diferentes maneras:
1) Local a nivel procedimiento: solo en el procedimiento concreto
2) Local a nivel de modulo: valida a todos los procedimientos del modulo
3) Publica: se puede utilizar a cualquier modulo del proyecto.
1) Declarando la constante dentro del procedimiento, solo se leera dentro de ese procedimiento.
2) Declarando la constante fuera del procedimiento sera capaz de leer a nivel de modulo.
3) Declarando la constante en vez de DIM poner PUBLIC
1) y 2) Const nombre As String
3) Public Const nombre as String
VBA Tipos Datos Variables
Tipos de Datos y Variables VBA
Depende el tipo de datos abarca muchos mas recursos.
Puedes obligar a que se active la declaración de variables en cada modulo, a partir de:
Herramientas > Opciones > Requerir declaración de variables.
De esta manera te obligará a declarar las variables que siempre es 'muy importante' hacerlo. Al
Variables : Es un espacio en la memoria del ordenador donde se puede almacenar un valor que podrá variar el valor durante la ejecución de un programa.
Como se declaran las variables : con la linea de codigo: dim 'nombre' as [tipo de dato], 'nombre' as [tipo de dato] sino ponemos el tipo de dato por defecto nos asignar 'variant' y equivale a un consumo mayor de recursos.
Ejemplo de procedimientos Sub
Ejemplo 1
Sub tipos_datos()
Dim nombre As String
nombre = "alberto"
Dim edad As Byte
edad = 43
End Sub
Ejemplo 2
Sub tipo_datos2()
Dim nombre As String, edad As Integer
nombre = "alberto": edad = 43
End Sub
Podemos declarar una variable de diferentes maneras:
1) Local a nivel procedimiento: solo en el procedimiento concreto
2) Local a nivel de modulo: valida a todos los procedimientos del modulo
3) Publica: se puede utilizar a cualquier modulo del proyecto.
1) Declarando la variable dentro del procedimiento, solo se leera dentro de ese procedimiento.
2) Declarando la variable fuera del procedimiento sera capaz de leer a nivel de modulo.
3) Declarando la variable en vez de DIM poner PUBLIC
1) y 2) Dim nombre As String
3) Public nombre as String
Tipo de datos
|
Tamaño
|
Intervalo
|
Byte
|
byte
|
0 a 255
|
Boolean
|
bytes
|
True o False
|
Integer
|
bytes
|
-32,768 a 32,767
|
Long (entero largo)
|
bytes
|
-2,147,483,648 a 2,147,483,647
|
Single (coma flotante/ precisión simple)
|
bytes
|
-3,402823E38 a -1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos
|
Double (coma flotante/ precisión doble)
|
bytes
|
-1.79769313486231E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos
|
Currency (entero a escala)
|
bytes
|
-922.337.203.685.477,5808 a 922.337.203.685.477,5807
|
Decimal
|
bytes
|
+/-79.228.162.514.264.337.593.543.950.335 sin punto decimal; +/-7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal; el número más pequeño distinto de cero es +/-0,0000000000000000000000000001
|
Date
|
bytes
|
1 de enero de 100 a 31 de diciembre de 9999
|
Object
|
bytes
|
Referencia a tipo Object
|
String (longitud variable)
|
bytes + longitud de la cadena
|
0 a 2.000 millones
|
String (longitud fija)
|
longitud de la cadena
|
1 a 65.400 aproximadamente
|
Variant (con números)
|
bytes
|
valor numérico hasta el intervalo de un tipo Double
|
Variant (con caracteres)
|
bytes + longitud de la cadena
|
mismo intervalo que para un tipo String de longitud variable
|
Definido por el usuario (utilizando Type)
|
número requerido por los elementos
|
intervalo de cada elemento es el mismo que el intervalo de su tipo de datos.
|
Depende el tipo de datos abarca muchos mas recursos.
Puedes obligar a que se active la declaración de variables en cada modulo, a partir de:
Herramientas > Opciones > Requerir declaración de variables.
De esta manera te obligará a declarar las variables que siempre es 'muy importante' hacerlo. Al
Variables : Es un espacio en la memoria del ordenador donde se puede almacenar un valor que podrá variar el valor durante la ejecución de un programa.
Como se declaran las variables : con la linea de codigo: dim 'nombre' as [tipo de dato], 'nombre' as [tipo de dato] sino ponemos el tipo de dato por defecto nos asignar 'variant' y equivale a un consumo mayor de recursos.
Ejemplo de procedimientos Sub
Ejemplo 1
Sub tipos_datos()
Dim nombre As String
nombre = "alberto"
Dim edad As Byte
edad = 43
End Sub
Ejemplo 2
Sub tipo_datos2()
Dim nombre As String, edad As Integer
nombre = "alberto": edad = 43
End Sub
Podemos declarar una variable de diferentes maneras:
1) Local a nivel procedimiento: solo en el procedimiento concreto
2) Local a nivel de modulo: valida a todos los procedimientos del modulo
3) Publica: se puede utilizar a cualquier modulo del proyecto.
1) Declarando la variable dentro del procedimiento, solo se leera dentro de ese procedimiento.
2) Declarando la variable fuera del procedimiento sera capaz de leer a nivel de modulo.
3) Declarando la variable en vez de DIM poner PUBLIC
1) y 2) Dim nombre As String
3) Public nombre as String
Restaurar windows 10 o 7 desde punto restauracion
Sigue los pasos a continuación te indico para restaurar tu ordenador a una fecha anterior utilizando un punto de restauración:
1) Escribe recuperación en el cuadro búsqueda de la barra de tareas y escoge Recuperación (Panel de control).
2) Haz clic en Abrir Restaurar sistema.
3) Haz clic en Siguiente.
4) Selecciona el punto de restauración, y haz clic en Siguiente. Haz clic en Finalizar.
El ordenador se reiniciará y mostrará un mensaje en el escritorio confirmando que la restauración fue correcta.
1) Escribe recuperación en el cuadro búsqueda de la barra de tareas y escoge Recuperación (Panel de control).
2) Haz clic en Abrir Restaurar sistema.
3) Haz clic en Siguiente.
4) Selecciona el punto de restauración, y haz clic en Siguiente. Haz clic en Finalizar.
El ordenador se reiniciará y mostrará un mensaje en el escritorio confirmando que la restauración fue correcta.
Suscribirse a:
Comentarios (Atom)