Backup o Guardar Excel a una hora determinada




En uno de los primeros post se mostró un ejemplo de macro o procedimiento de VBA sobre como guardar excel automáticamente, herramienta muy útil para evitar perder horas de trabajo, ya que a veces seguramente se nos pasa el tiempo introduciendo datos o analizando los mismos y nos olvidamos de guardar ya sea por pereza o descuido, entonces con esta pequeña macro para guardar datos automáticamente nos tenemos que olvidar de estar guardando excel cada cierto tiempo, lo presentado aquí tiene estrecha relación con el que mencionaba, ya que la macro hace un Backup o Guarda el libro a una hora específica, a diferencia de la macro que mencionaba que guarda cada minuto.
MASTERCARD PAYONEER


Si quieres aprender o profundizar  sobre el manejo de hojas de Excel, te recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores curso que he visto en internet.

El código es sencillo se debe colocar un procedimiento en ThisWorkbook en el evento open del libro de Excel para que llame la función de Backup.

El resto del código se debe insertar en un módulo que es donde esta escrito el procedimiento o macro para realizar el Backup o Guardar el Libro de Excel automáticamente a una hora específica, desde el link del final podrás descargar el ejemplo, modificar y adaptar a tu libro.




Código que se inserta en ThisWorkbook
Private Sub Workbook_Open()
Call grabando
End Sub

     

Código a insertar en un módulo
Sub grabando()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.OnTime TimeValue("17:00:00"), "grabando"
Path = "C:\Work\DNA\myfile.xlsx"
ActiveWorkbook.SaveAs Filename:=Path, FileFormat:=xlNormal
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Humor Gráfico hombre al agua






Humor Gráfico






Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar ejemplos en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free examples.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Sendkeys simular pulsaciones de teclas




El método Sendkeys en VBA se utiliza para simular pulsaciones de teclas que deben ser ingresadas manualmente por el usuario en la ventana activa; puede ser usado en una macro para simular la tecla Enter, cualquier otra tecla o combinación de tecla; con este método a los fines de conseguir los resultados esperados, se debe tener especial cuidado que la ventana que queramos manipular esté activa, caso contrario se puede ejecutar un comando no deseados, supongamos que en la ventana activa control + A, realiza una determinada acción y en otra ventana esa misma combinación de teclas realiza otra totalmente distinta, es por ello que se debe tener precaución que la ventana sobre la queramos trabajar este activa al usar el método Sendkeys.

MASTERCARD PAYONEER

Una utilidad por ejemplo del método Sendkeys, es poder enviar a un cuadro de díálogo que solicita una contraseña o password los datos del usuario y contraseña, aquí es necesario llamar primero llamar este método y luego el formulario o cuadro de diálogo que solicita la contraseña.

Si quieres aprender o profundizar  sobre el manejo de hojas de Excel, te recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores curso que he visto en internet.

La sintaxis del método Sendkeys es la siguiente:

SendKeys(Keys, Wait)

String: valor requerido, es una expresión de cadena la cual expresa cual es la tecla o combinación de teclas, traducida en pulsaciones, que se desea enviar a la página o ventana activa.

wait: es un argumento opcional se puede omitir y toma el valor Falso o False, es un valor de tipo boolean que indica de modo de espera, es decir si el valor es falso o False, que es el valor predeterminado; indica que el control del procedimiento es devuelto inmediatamente luego de enviar las pulsaciones; en caso contrario es decir Verdadero o True, indica que las pulsaciones se procesan antes de devolver el control al procedimiento.

Para que quede más claro el argumento Wait, si este es verdadero Excel debe esperar que la pulsación de la tecla enviada deben ser procesadas antes de devolver el control a la macro, en caso Falso Excel debe seguir ejecutando la macro sin esperar que se procesen las teclas enviadas.

Con el método Sendkey como se dijo se puede enviar pulsaciones de teclas, cada pulsación en el teclado está representada con una letra para referirse a dicho caracter se usa la letra propiamente dicha, es decir para que se envié  la pulsación de la letra Z, se debe utilizar "Z"  como string, si se quieren agregar más se debe agregar cada caracter en forma seguida, por ejemplo para la letra Z se debe agregar "Z",  si se quiere agregar la letra R, seguidamente la S y luego la T, se debe expresar así "RST".

     

Los siguientes símbolos tienen un significados especial con el método Sendkeys es por ello que se deben encerrar entre llaves{ }; los símbolos son: mas (+); intercalación (^), porcentaje (%) y paréntesis ( ); se debe tener en cuenta que los corchetes [ ] no tienen significado especial para el método Sendkeys, sin embargo se recomienda escribirlos entre llaves, ya que en otras aplicaciones si tiene un significado especial y por ende puede llevar a resultados inesperados; ahora bien si lo que se quiere es especificar el símbolo llave propiamente dicho se debe escribir { {} y { } }.

Si lo que se requiere es enviar una combinación de teclas como SHIFT, MAYÚSCULA, CONTROL y ALT,  se deben introducir delante del código de la tecla algunos de los siguientes códigos:

Tecla               Símbolo
SHIFT (Mayúscula) 
CTRL (Control) ^
ALT  %

Seguramente en varias oportunidades deberemos especificar o simular caracteres que no se muestran al presionar una tecla o teclas que representan una determinada acción como print screen,  lo que se requiere es enviar una combinación de teclas como  MAYÚSCULA, CONTROL y ALT,  se deben introducir delante del código de la tecla algunos de los siguientes códigos:



Tecla Código
Retroceso {BACKSPACE}, {BS}o {BKSP}
Pausa {BREAK}
Bloq Mayús {CAPSLOCK}
Supr {DELETE} o {DEL}
Flecha abajo {DOWN}
Fin {END}
Entrar {ENTER}o ~
Esc {ESC}
Ayuda {HELP}
Inicio {HOME}
Insert {INSERT} o {INS}
Flecha izquierda {LEFT}
Bloq Num {NUMLOCK}
Re Pág {PGDN}
Av Pág {PGUP}
Impr Pant {PRTSC}
Flecha derecha {RIGHT}
Bloq Despl {SCROLLLOCK}
Tab {TAB}
Flecha arriba {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}


Si cualquier combinación de teclas SHIFT, CTRL ó ALT se debe mantener presionada mientras se envían otros caracteres, se requiere agregar el código para estas teclas entre paréntesis, por ejemplo si de desea presionar mayúscula y la letra R y T (es decir R y T mayúsculas), se debe usar "+ (RT)"; ahora si lo que se desea, es presionar la mayúscula y la T solamente en mayúscula y la T en minúscula se debe usar "+RT"; es preciso aclarar que en este último caso no hay paréntesis y las pulsaciones de teclas enviadas serán una R mayúscula y una T minúscula, mientras que usando paréntesis se enviaran pulsaciones de teclas que se interpretan como R y T mayúsculas. 

En el caso que se necesite enviar una repetición de teclas, se puede utilizar (tecla número) debiendo incluir un espacio entre ambos; por ejemplo si se requiere pulsar la tecla flecha a la derecha 100 veces, se puede usar flecha derecha más el número 100, el código quedaría de esta manera: "{Right  100}"; ahora si se lo que se quiere repetir es la tecla A 20 veces el código debería ser: "A 20", lo cual significa que se repetirá 20 veces la pulsación de la tecla o carácter A.

Ahora te mostraré algunos ejemplos de uso del método SendKeys, esto funcionará siempre que la ventana activa sea Excel, ya que si estuviera activa otra ventana los resultados no podrían ser los esperados, esto es lo que se recalca cuando se menciona que se debe tener un especial cuidado sobre cual es la ventana activa que recibe el envío de teclas mediante macros.

Aquí se usa el método SendKeys  para salir de Excel
Application.SendKeys "% {F4}

Abre el editor de VBA
Application.SendKeys "%{F11}"

Abre la ayuda de Excel
Application.SendKeys "%{F1}"

Edita una celda de Excel
Application.SendKeys "%{F2}


Otros post de utilidad:



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Msgbox solicita respuesta para realizar procedimiento





Anteriormente se ha publicado un tutorial sobre como realizar, confeccionar o hacer un msgbox, en esta presentación te muestro como poner en practica dicha teoría, la macro presenta un msgbox que solicita confirmación para ejecutar el procedimiento de VBA, es una macro que tiene utilidad cuando se quiere realizar una operación matemática en forma masiva, ya que toma todos los registros y los suma, resta, divide, multiplica o realiza cualquier operación matemática con ellos.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.



  

La macro o código de VBA en primero lugar muestra un imputbox, que solicita el porcentaje a incrementar los precios de la columna C; una vez ingresado este porcentaje sale un msgbox que solicita una respuesta por parte del usuario, en caso de que se oprima el botón cancelar, sale del programa; si oprime el botón OK o Aceptar, corre un procedimiento el cual aumenta el porcentaje  ingresado en el imputbox haciendo que los precios de la columna C se modifiquen, colocando los valores obtenidos en la misma celda.

Desde el link del final se puede descargar el archivo de ejemplo de esta manera podrás ver su funcionamiento en forma más detallada. El código de VBA o Macro de Excel hace emerger un imputbox y luego  un msgbox que solicita confirmación para ejecutar la macro.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.









Sub operation()
Dim hh, var, ip As Integer
ip = (InputBox("Increse % de incremento de precio", "Nombre"))
var = MsgBox("Confirme si desea realizar la operación matemática?", vbOKCancel + vbQuestion, "TokenRing")
     
If var = 1 Then
For hh = 2 To 100
Cells(hh, 3) = Cells(hh, 3) * (1 + (ip / 100))
Next hh
Else
Exit Sub
End If
End Sub




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Buscar archivo en directorio y si no existe abre explorador de archivo





Me preguntan en un foro como buscar un archivo en un directorio, cuya dirección está dada en una macro, en caso que no se encuentre el archivo, abra el explorador de Windows para poder seleccionar en forma manual el fichero, la dirección del archivo seleccionado desde el explorador de Windows, se guarda en una variable pudiendo ejecutar el código que cada uno tiene preparado, en este ejemplo lo que hace es abrir el archivo en caso de ser encontrado.  En una entrega anterior se expuso como seleccionar un archivo con el explorador de Windows, también se explicó como insertar una foto seleccionando el archivo desde el explorador de Windows.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Supongamos que tenemos una macro, en ésta existe un código o macro de Excel que referencia a un archivo, el cual debe abrir para extraer datos, sucede que si el archivo se encuentra, no hay problema, pero si el archivo no está en el directorio especificado, la macro provoca un error si no se han controlado errores, en caso que se controlen errores, la macro no funcionaría como corresponde ya que no encontró el archivo del cual extrae datos; para solucionar esto, se propone que la macro busque el archivo en el directorio, en caso de no encontrar dicho archivo, se abre el explorador de windows, desde el cual se selecciona el archivo en forma manual, la macro toma dicha dirección y continua con la rutina escrita en dicha macro, esa es la idea de este post.

En definitiva la macro o procedimiento de VBA lo que hace es buscar un archivo en un directorio, en caso de que no lo encuentre abre el explorador de Windows a los fines de seleccionar el archivo, en caso de ser encontrado, solo sigue con el código escrito, este post responde a preguntas como buscar archivos, como determinar si un archivo existe en un directorio; como abrir el explorador de windows y seleccionar archivo.

Desde el link del final se puede descargar el ejemplo, modificarlo y adaptarlo a lo que se requiera, el código está abierto y sin ningún tipo de restricción.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.









Sub AbreExplorador()
On Error Resume Next
Dim path, myfile As String
Dim verexi As Object
path = "C:\Users\MyNotebook\Downloads\libro1.xlsx"
Set verexi = CreateObject("Scripting.FileSystemObject")

If verexi.FileExists(path) Then
   Workbooks.Open Filename:=path, UpdateLinks:=0
Else


     
    MsgBox ("El archivo no existe, seleccione su ubicación actual"), vbCritical, "SELECCIONE DIRECCIÓN ACTUAL"
    myfile = Application.GetOpenFilename("Archivos Excel (*.xl*), *.xl*")
    Workbooks.Open Filename:=myfile, UpdateLinks:=0
End If

End Sub





Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Humor Gráfico suerte








Humor Gráfico




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar ejemplos en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free examples.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Tipos de operadores de Excel aritméticos, comparación, referencia, texto




Trabajar con planillas de cálculo de Excel, se traduce en trabajar con fórmulas, para poder confeccionar dichas fórmulas es necesario conocer los tipos de operadores de Excel que se pueden utilizar y la prioridad de cálculo que tiene cada uno en una fórmula, estos operadores puedes verlos en funciones como Función BUSCARV, BUSCARH, función SI, entre otras, por si interesa conocer cuales son las funciones que trae integradas Excel y su traducción a otros idiomas te recomiendo que hagas click en el link traducción de estas funciones a los diferentes idiomas.
MASTERCARD PAYONEER


Si quieres aprender o profundizar  sobre el manejo de hojas de Excel, te recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores curso que he visto en internet.

Existen cuatro tipos de operadores de cálculo: aritmético, comparación, concatenación de texto y referencia. Los operadores de Excel, especifican el tipo de cálculo que se requiere realizar en los distintos elementos que componen una formula que se ha confeccionado, existe una prioridad predeterminada en el orden de los operadores para realizar los cálculos, esto se puede modificar utilizando paréntesis.

Los operadores aritméticos sirven para ejecutar operaciones aritméticas básicas, como suma, resta, división, multiplicación, combinar números y generar resultados numéricos, estos operadores son:

Operador aritméticoSignificadoEjemplo
+ (signo más)Suma5+2
– (signo menos)Resta
Negación
9–1
–1
* (asterisco)Multiplicación 2*5
/ (barra oblicua)División 8/8
% (signo de porcentaje)Porcentaje 50%
^ (acento circunflejo)Exponenciación4^3


Los operadores de comparación se utilizan para comparar valores, el resultado es un valor lógico VERDADERO O FALSO, los operadores son los siguientes


Operador de comparaciónSignificadoEjemplo
= (signo igual)Igual a D1=J1
> (signo mayor que)Mayor queD1>J1
< (signo menor que)Menor queD1<J1
>= (signo mayor o igual que)Mayor o igual queD1>=J1
<= (signo menor o igual que)Menor o igual queD1<=J1
<> (signo distinto de)Distinto deD1<>J1


Los operadores de concatenación o textose utilizan para unir o concatenar una o varias cadenas de texto con el fin de generar un solo elemento de texto.

Operador de textoSignificadoEjemplo
& ("y" comercial)Concatena o une dos valores para generar un valor de texto continuo. ("Dayra"&"Col")


Los operadores de referencia se utilizan para combinar rangos de celda.

Operador de referenciaSignificadoEjemplo
: (dos puntos)Operador de rango, que genera una referencia a todas las celdas entre dos referencias, éstas incluidas. R5:R15
; (punto y coma)Operador de unión, que combina varias referencias en una sola SUMA(R5:R15;S5:S15)
(espacio)Operador de intersección, que genera una referencia a las celdas comunes a las dos referenciasG7:G7 G6:G8

Algo que se debe manejar muy bien a la hora de confeccionar fórmulas en Excel, es el orden con que Excel ejecuta las operaciones dentro de una fórmula. El orden de cálculo es sumamente importante ya que puede hacer variar el resultado, siendo más que necesario saber como se determina y como se puede cambiar el orden para obtener un resultado adecuado, en forma anticipada digo que ese orden de cálculo se puede modificar con paréntesis.

Las fórmulas calculan los valores en un orden específico. Las fórmulas de Excel siempre comienzan por un signo igual (=). El signo igual indica a Excel que los caracteres siguientes constituyen una fórmula. Detrás del signo igual están los elementos que se van a calcular (los operandos), separados por operadores de cálculo. Excel calcula la fórmula de izquierda a derecha, según el orden específico de cada operador de la fórmula.

     

Si se combinan varios operadores en una única fórmula, Excel ejecutará las operaciones en el orden que se indica en la siguiente tabla. Si una fórmula contiene operadores con la misma prioridad (por ejemplo, si una fórmula contiene un operador de multiplicación y otro de división), Excel evaluará los operadores de izquierda a derecha.

OperadorDescripción
: (dos puntos)
(un solo espacio)
; (punto y coma)
Operadores de referencia
Negación (como en –1)
%Porcentaje
^Exponenciación
* y /Multiplicación y división
+ y -Suma y resta
&Conecta dos cadenas de texto (concatenación)
=
< >
<=
>=
<>
Comparación



Para cambiar el orden de evaluación, escriba entre paréntesis la parte de la fórmula que se calculará en primer lugar. Por ejemplo, la siguiente fórmula da un resultado de 38, porque Excel calcula la multiplicación antes que la suma. La fórmula multiplica 3 por 10 y, seguidamente suma 8 al resultado, por ende el resultado es 38.

8+3*10 = 38

Para cambiar el orden de cálculo se debe usar paréntesis, ver la siguiente fórmula donde se usan los mismos números y cálculos, pero con la diferencia que se usa paréntesis para cambiar el orden de cálculo, en el ejemplo planteado se suma 8+3 y luego se lo multiplica por 10, siendo igual los números y operaciones que el ejemplo anterior con la diferencia que al usar paréntesis se cambia el orden de cálculo lo que hace modificar sustancialmente el resultado

(8+3)*10 = 110



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends