Mostrando entradas con la etiqueta Excel Macros (VBA). Mostrar todas las entradas
Mostrando entradas con la etiqueta Excel Macros (VBA). Mostrar todas las entradas

jueves, 30 de enero de 2020

INSERT INTO Insertar Datos de Excel a MySQL | Pasar Datos de Excel a MySQL



Insertar Datos de Excel a MySQL - INSERT INTO #excelmysql

En esta publicación, vamos a ver como insertar datos en tabla MySQL desde Microsoft Excel con un formulario de Excel desarrollado en VBA. MySQL es un sistema de gestión de base de datos relacional (RDBMS) de código abierto (Open Source) y basado en lenguaje de consulta estructurado (SQL).

Tener siempre en cuenta que los tipos de datos que vamos a almacenar en los campos(columnas) sean el mismo tipo de datos que hemos definido a la hora de crear nuestra tabla de lo contrario al insertar o grabar los registros la aplicación dará un mensaje de error.

Dicho lo anterior, podemos empezar. La inserción en MySQL basados en el lenguaje SQL, se hace por medio de la sentencia INSERT INTO, cuya sintaxis básica es:

INSERT INTO nombre_tabla (campo_1, campo_2,… campo_n) VALUES(valor_1, valor_2,… valor_n) WHERE condición(opcional)

Insertar datos desde excel a mysql
#VbaMysql #ExcelVbaMysql #ExcelMysql  Excel VBA MySQL

* INSERT INTO es, la sentencia SQL que inserta los valores en una tabla de MySQL.
* nombre_tabla es el nombre de la tabla en donde los valores serán insertados.
* (campo_1, campo_2,… campo_n) especifica los campos o columnas en la que los datos se insertarán.
* VALUES es la palabra que “avisa” a MySQL que los datos a continuación son los que se insertarán.
* (valor_1, valor_2,… valor_n) son los datos que habrán de insertarse. Las comas separan los datos dependiendo de los campos a los que pertenecen, es decir el orden lo especificamos en campo_1, campo_2,… campo_n con ese mismo orden se colocan los valores a insertar.
* WHERE condición especifica, una condición a cumplirse para que la inserción se lleve a cabo.

Las condiciones que vamos a poner en nuestras inserciones dependerán exclusivamente de nuestras necesidades, la condición WHERE es opcional y puede no incluirse en nuestras sentencias INSERT INTO.


Si trabajas con la base de datos MySQL porque no importar, exportar, añadir y editar datos desde y para Microsoft Excel, de manera rápida y sencilla.

¨Quiza tambien te interese ver esta publicación Conexión Microsoft Excel y MySQL¨



jueves, 12 de enero de 2017

Como Proteger y Desproteger por medio de macros | ActiveSheet.Protect VBA en Excel



Como Proteger y Desproteger por medio de macros

ActiveSheet.Protect Macro para proteger o desproteger una hoja Microsoft Excel, la subrutina VBA para proteger la hoja con contraseña y otra subrutina para desprotegerla. Es necesario ingresar al Editor de Visual Basic donde pegaremos el código que encontramos mas abajo

Cuando trabajamos nuestros archivos con macros, a veces se hace necesario este procedimiento que por medio de código se ingrese la contraseña para desproteger la y Protegerla. La contraseña debe de ir entre comillas, tal y como aparece en las líneas de código.

Activesheet.Unprotect, Proteger una hoja de cálculo - Excel
#ExcelVBA #MacrosExcel #MicrosoftExcelVBA
Una hoja de cálculo puede ser protegido de tal manera que sólo las celdas que se necesitan se puedan modificar. La protección de una hoja de cálculo consiste en dos configuraciones diferentes: o atributos de protección de hoja de cálculo y fijación de celda. Cuando se protege una hoja de cálculo, todas las celdas que están bloqueados se convierten en no editable y aquellas celdas que no están bloqueados siguen siendo editables.

En esta publicación vamos a ver como hacerlo.

Protegemos la hoja activa

Código
ActiveSheet.Protect "Contraseña_que_quieres_poner"


Desproteger una hoja de cálculo
Código
ActiveSheet.Unprotect "Contraseña_que_quieres_quitar"

Si deseamos proteger un libro de excel
Código
ThisWorkbook.Protect "Contraseña_que_quieres_poner"

Si deseamos desproteger un libro de excel
Código
ThisWorkbook.Unprotect "Contraseña_que_quieres_quitar"

Ejemplo de como debe de ir el codigo

Sub PROTECCION()

Sheets("Hoja1").Select

ActiveSheet.Protect ("#Excel #VBA")

End Sub


Sub DESPROTEGER()

Sheets("Hoja1").Select

ActiveSheet.Unprotect ("#Excel #VBA")

End Sub

Espero que le encuentren utilidad.

Conexión Microsoft Excel y MySQL | Conectar Excel con MYSQL



Conectar Microsoft Excel con MySQL (Connector/ODBC) Conexión de Excel con el gestor de base de datos MySQL. 
En ocasiones nos vemos en la necesidad de conectar Excel con MYSQL, ya sea porque necesitamos insertar datos, obtener los registros de nuestra base de datos y trabarlos en una hoja de cálculo.

Conexión de Excel con el gestor de bases de datos MySQL. Las operaciones que se pueden realizar entre una hoja Excel y una base de datos


Previo a realizar la conexion excel nysql vba, es importante descargar de la página de Mysql  el conector ingresando a la siguiente dirección http://www.mysql.com/products/connector/  y seleccionamos  "ODBC Driver for MySQL (Connector/ODBC)", seguidamente instalamos.

martes, 10 de enero de 2017

Msgbox SI/NO VBA | Msgbox VBA Excel SI o NO



MSGBOX VBA EXCEL SI O NO: Este código es para presentar al usuario un Sí / No con un cuadro de mensaje y tiene la capacidad de ejecutar código basado en la respuesta. Funciona mediante el establecimiento de una variable igual a la respuesta del cuadro de mensaje y la evaluación de la variable con una instrucción IF ... THENcódigo está comentado en lugares para cambiar el texto del mensaje de la pantalla, dónde colocar el código de respuesta SI, y NO.
#ExcelVBA #MacrosExcel #MicrosoftExcelVBA
MSGBOX, VBA, msgbox vba excel ejemplos

viernes, 5 de agosto de 2016

Funciones personalizadas con VBA volátiles | UDF Volatile



En Excel VBA el Método Application.Volatile marca como volátil una función UDF (funciones definidas por el usuario). lo que permite el recalcularse cuando se modifica cualquier celda de la hoja de cálculo. En Excel las funciones pueden ser volátiles o no volátiles, en el caso de la función UDF (function vba) no es volátil por defecto, sólo se vuelven a calcular cuando cualquiera de los argumentos de la función sufre un cambio.

Podemos decir entonces que el resultado de una formula / función se actualiza en cada recalculo de la hoja electrónica, es decir un  nuevo cálculo inteligente de Excel.

martes, 2 de agosto de 2016

Uso del método Intersect en Excel VBA



Las posibilidades del método Intersect en VBA, con la combinación del evento Change podemos ejecutar ciertas líneas de código cuando una celda en particular es seleccionada, a continuacion unos ejemplos de su aplicación.

Se activa el cuadro de mensaje al hacer click en la celda "A1":
método Intersect


jueves, 23 de enero de 2014

Macro en Excel para trabajar en una hoja protegida | Activesheet.Unprotect



Método Worksheet.Unprotect (Excel): para mantener los datos de tu hoja de cálculo protegidos e impedir que accidentalmente se realicen cambios en las mismas

Comparto con Uds. una consulta que me realizaron por correo, y es la siguiente: "... Agustín, una pregunta, disculpa que te moleste, - Tema de excel -  bloquear hoja con VB, necesito darle permiso "Que me permita, ocultar y mostrar filas" ..."

La respuesta es, si es posible, lo primero que hay que hacer, ya que la hoja esta protegida con contraseña, es des proteger primero, luego ocultar o mostrar filas según sea el caso, seguida mente proteger de nuevo la hoja, que es lo que haríamos utilizando las opciones de excel, por lo que realizaremos los mismos pasos pero con VBA.

Código para poder ocultar las filas seleccionadas

Sub OcultarF()
Application.ScreenUpdating = False
Dim Celda As Range
'Desprotegemos la hoja
ActiveSheet.Unprotect Password:="#FreelancerExcel"
'Ocultamos el rango seleccionado
    For Each Celda In Selection
        Selection.EntireRow.Hidden = True
    Next
'Protegemos la hoja
ActiveSheet.Protect Password:="#FreelancerExcel"
Application.ScreenUpdating = True
End Sub

Código para poder mostrar las filas
Sub MostrarF()
Application.ScreenUpdating = False
Dim Celda As Range
'Desprotegemos la hoja
ActiveSheet.Unprotect Password:="#FreelancerExcel"
'Visualizamos el rango seleccionado
    For Each Celda In Selection
        Selection.EntireRow.Hidden = False
    Next
'Protegemos la hoja
ActiveSheet.Protect Password:="#FreelancerExcel"
Application.ScreenUpdating = True
End Sub

Y como complemento configurar cada instrucción con una combinación de teclas(ctrl+o por ejemplo) para facilitar el uso de cada instrucción al usuario.

sábado, 26 de mayo de 2012

Eliminar filas vacías automáticamente con VBA



Si necesitamos eliminar varias filas en blanco, resulta muy laborioso hacerlo uno por uno, en estos casos podemos utilizar el siguiente código para automatizarlo con condigo VBA.


CODIGO
Sub EliminaFilasEnBlanco()
'seleccionamos las filas en blanco

Selection.SpecialCells(xlCellTypeBlanks).Select
'borra las filas seleccionadas
Selection.EntireRow.Delete
End Sub

domingo, 25 de marzo de 2012

Excel VBA Función MkDir y Len




La función MkDir nos sirve para crear un directorio, pero si lo que queremos es saber si el directorio existe lo podemos combinar con la función Len para averiguar si el directorio ya existe si no, entonces crear el directorio.

Código de ejemplo:
' Inicio del código ....

    'Si dir no existe
    If Len(Dir("C:\FreelancerVBA", vbDirectory)) = 0 Then
    'La función crea el directorio
    MkDir ("C:\FreelancerVBA")
    End If
'fin del código....


Este código es muy útil cuando desarrollamos aplicaciones y deseamos verificar antes de que se ejecute un formulario por ejemplo que requiere que exista una carpeta en especifico.







viernes, 25 de noviembre de 2011

Ocultar y Mostrar libro de Excel con VBA | Application.Visible



Ocultar y Mostrar libro de Excel con VBA | Application.Visible

Utilice la propiedad Application para devolver el objeto Application. En el ejemplo siguiente se aplica la propiedad Visible al objeto Application.

Si necesitamos que Excel se oculte cuando ejecutamos un formulario podemos utilizar la siguiente instrucción.




Para Ocultar
Sub OcultaExcel()

Application.Visible = False

End Sub


Para restaurar
Sub MuestraExcel()

Application.Visible = True

End Sub


Y para que se ejecute automáticamente el formulario al abrir el archivo escribiremos el siguiente código en ThisWorkbook

Private Sub Workbook_Open()
UserForm1.Show
End Sub

Recuerden habilitar la macro para que funcione.


sábado, 15 de octubre de 2011

Eventos en VBA en Excel | Ejecutar macro cada vez que una celda es modificada



Eventos en VBA en Excel

En Microsoft Excel los eventos en VBA nos ayudan a monitorear las acciones que realiza un usuario en Excel al momento de hacer una acción, como por ejemplo cuando activa una hoja o hacer clic en alguna celda. Hay un evento llamado Worksheet_Change que se activa cuando se introduce un valor en determinada celda o celdas. Uno de los argumentos de este evento es "objetivo" que es una referencia a lo que ha cambiado. Ya que este evento tendrá lugar cada vez que cambia el valor en la celda.
Para lograr lo indicado utilizaremos el siguiente código, previo a realizar los pasos siguientes:
- Clic derecho sobre la pestaña de la hoja donde deseamos pegar el código.
- Clic en "Ver Código"
-Se abrirá la ventana de VBA, seleccionamos "La Ventana de Código"
- Copiamos el código de abajo y pegamos.


Evento,Worksheet_Change, VBA Excel


Private Sub Worksheet_Change(ByVal Target As Range)
 'Al escribir en la celda C5
 If Intersect(Target, Range("C5")) Is Nothing Then
  Exit Sub
 Else
'Para nuestro ejemplo se corre 4 columnas a la derecha..
    ActiveCell.Offset(0, 4).Select
 End If
End Sub

Cuando escribimos en la celda "C5", se corre 4 columnas a la derecha al pulsar "ENTER". Otro ejemplo podría ser que sea toda la columna "C", en ese caso cambiamos Range("C:C"), con esto lo solucionamos.



viernes, 14 de octubre de 2011

Referirnos a libros, hojas y celdas en VBA de Excel:




Referencias: Veamos los términos utilizados para referirnos a libros, hojas y celdas:

Workbook:                            Libro de trabajo.
ActiveWorkbook:                  Libro activo
Workbooks("Libro1.xls") :     Llamada al libro de nombre Libro1
Workbooks(2):                     El segundo libro abierto

WorkSheet:           Hoja de trabajo
ActiveSheet:          Hoja activa
Sheets("Octubre"):    Hoja de nombre "Octubre"
Sheets(10):             Número de hoja del libro según el orden de las pestañas.

Range:               rango o celda
Activecell:          la celda activa
Range("A2"):     la celda A2
Cells(2,1):          la celda A2 .

Nótese que mientras en Range se introduce la celda en el orden Col,Fila, en Cells es a la inversa: Cells(fila,col)

Range("A2:B20") :   rango de celdas desde A2 hasta B20 inclusive
Range("A:A"):         columna "A"
Range("2:2"):           fila 2

Cómo ejecutar una macro:




Se necesita de una 'acción' que dispare o ejecute una macro grabada, veamos los distintos casos:

1- Una acción automática resultado de un evento, ya sea a nivel libro, hoja, rango o celda
En este grupo se encuentran las rutinas que se ejecutan en la apertura o cierre de libro, al entrar o salir de una hoja, al seleccionar o cambiar valores en celda.

2- Al presionar un botón dibujado en la hoja. Podemos utilizar botones de la barra de Herramientas "Cuadro de controles" o de la barra "Formularios".
Dibujamos el control en la hoja, ajustamos algunas propiedades como texto, tamaño, ubicación. Al hacer clic derecho sobre el control optamos por "Ver código" o "Asignar macro" según qué barra de herramientas hemos utilizado.

a-      Cuadro de controles: al optar por "Ver código" nos llevará al Editor donde se generará automáticamente una rutina con estas 2 instrucciones:

Private Sub CommandButton1_click()
'aquí escribiremos nuestras instrucciones
End Sub

b-      Formularios: ya debemos tener lista la rutina en un módulo del Editor y la asignaremos cuando optemos por  "Asignar macro".
Las rutinas para este ejemplo usaremos lo siguiente:

Sub nombre_rutina()
'nuestras instrucciones
End Sub

 3- Ejecutar un atajo de teclado: En estos casos tendremos una rutina como la del punto anterior (b) en un módulo del Editor.
Desde la hoja Excel, menú Herramientas, Macros, Macros seleccionarla de la lista. Presionar el botón "Avanzadas" e ingresar una letra, por ejemplo 'w'  (sin las comillas)

Nota: Si Excel ya tiene asignada esta letra la reemplazará por Ctrl+Mayúsc +w Esto significa que en el momento que necesitemos que la macro se ejecute presionaremos juntas las teclas Ctrl + w  (o Ctrl+Mayusc+w)

4- Desde el menú Herramientas (Excel 2003) Pestaña "Programador" (Excel 2007 y 2010): si no hemos asignado la rutina que se encuentra en un módulo a ningún botón ni a atajo de teclado, la ejecutaremos desde este menú de Excel.

Dónde escribir la macro en Excel:




Esto dependerá de lo que  queremos ejecutar en nuestra rutina.

Si las instrucciones se deben ejecutar, por ejemplo, al abrir o cerrar un libro, se colocan en el objeto ThisWorkbook (o "EsteLibro" según la versión).

Si las instrucciones se deben ejecutar al entrar o salir de una hoja o al seleccionar o modificar una celda, se colocan en el objeto Hoja. Estos objetos se encuentran en el margen izquierdo del Editor, en la ventana Proyecto-VBAProyect

Si nuestra rutina será llamada con un botón, atajo de teclado o desde otra rutina, se colocará en un módulo (estando en el Editor, menú Insertar, Módulo).

Cómo se crea una macro




En la version de Excel 2003 seleccionamos el menú Herramientas, Macros, Editor o con el atajo de teclado Alt+F11.
En versión 2007, activar la opción Programador de la Cinta de Opciones.
Una vez en ese 'espacio', escribiremos o copiaremos las rutinas en:
a- alguno de los objetos (hoja o libro) que seleccionemos con doble clic en el panel de Objetos que se encuentra a la izquierda del Editor.
b- insertando módulos
c- o insertando formularios personales o Userforms.
1- una acción que hará que la tarea programada se ejecute. A esto llamamos  'Eventos' que inician una macro y pueden ser: abrir o cerrar un libro, entrar o salir de una hoja, cambios o selección de celdas, antes de imprimir o guardar, el 'clic' en un botón de comando, al presionar un atajo de teclado, y otros más.  

2- Un lenguaje de programación. En Excel utilizamos VBA (Visual Basic para Aplicaciones)

3- Ocasionalmente un formulario donde trabajar para luego volcar los resultados en las hojas: llamados Userforms.


jueves, 13 de octubre de 2011

Editor de Visual Basic en Excel (VBE)



Configuración del Editor de Visual Basic de Excel (VBE). El Editor de Visual Basic es un programa en Excel que le permite comunicarse con Excel. Vamos a abrirlo y comenzar a conocer sus partes.

Presione la tecla "ALT" (a la izquierda de la barra espaciadora) y  "F11" (la tecla F11 está en la parte superior del teclado). Ahora estamos en el Editor de Visual Basic. Una vez más la presionar "ALT/F11" nos regresa de nuevo en Excel.

La primera vez que abra la VBE vera una ventana así como la imagen de abajo.
Visual Basic, VBE
Las tres ventanas en el Editor de Visual Basic

Para ser eficiente cuando se trabaja con el VBE siempre deben haber tres ventanas como se muestra en la imagen, la ventana del proyecto (1), la ventana de código (2), y la ventana de Propiedades (3). Puede cambiar el tamaño de las ventanas haciendo clic izquierdo en donde las estrellas son de color rojo, puede moverse hacia los lados o hacia arriba y hacia abajo.

Visual Basic for Applications




Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel y Access, Powerpoint y Visio. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos.

Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un lenguaje orientado a eventos con acceso a la API de Windows.