PROGRAMAR EN VBA MACROS DE EXCEL: enero 2019

474 Como Eliminar Filas EN BLANCO Excel 2019






Como Eliminar Filas en Blanco en Excel


Eliminar Filas en Blanco ExcelEn este post se muestra Como Eliminar Filas Vacías en Excel con Criterio, es decir que en este caso el criterio para suprimir filas en Excel es que la fila  de Excel se encuentre sin datos o vacías.

Si estás interesado en aprender más sobre como eliminar filas en Excel con Macro te invito a ver el siguiente playlist con varias macros que tratan el tema de Quitar Filas en Blanco en Excel.

Quieres operar Excel en forma eficiente 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, te lo recomiendo no te arrepentirás.

   

Mira la Macro en acción Suscribe a nuestro canal para que YouTube te avise cuando se suba nuevo contenido al canal, en el vídeo encontrarás una explicación gráfica y detallada del ejemplo que se muestra en este post.







En que consiste el ejemplo Como Eliminar Filas en Blanco en Excel

Desde el Link del final se puede descargar el Libro Excel utilizado como ejemplo en este post, en forma gratis, una vez que se abre el Libro de Excel, se podrá observar dos botones, uno que dice "Eliminar Fila" que es el que ejecuta la macro de este ejemplo y otro Botón que dice "Ejecutar Nuevamente", este botón sirve únicamente para copiar la base de datos originar que está en la Hoja2, en la Hoja1, y así poder ejecutar la macro una y otra vez hasta entender su funcionamiento si es que se requiere.

La macro realiza un bucle entre la primer y última fila con datos, determinando si la celda  de una columna analizada y la fila que recorre el bucle en ese momento, se encuentre vacía, en ese caso elimina la fila Excel completa y está en blanco, realiza el mismo procedimiento con todas la filas del rango establecido entre la primer y última fila con datos.

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también

Como Eliminar Datos Duplicados en Excel


Como Eliminar Filas que coincidan con una Palabra



Código VBA para Quitar o Suprimir Filas Vacías en Excel


La macro crea un objeto con la Hoja1 que es donde está la base de datos para eliminar las filas vacías.

Set a = Sheets("Hoja1")

Posteriormente establece cual es la última celda con datos para armar el rango entre la primer y última celda del rango de datos, que es donde está la base de datos a analizar.

uf = Range("A" & Rows.Count).End(xlUp).Row

Luego se realiza un bucle que va desde la última fila hasta la primer fila con datos, esto se hace a los fines practicos, es decir se está recorriendo y eliminando las filas Excel que coincidan con el criterio para eliminar desde abajo hacia arriba. 

For x = uf To 2 Step -1


Por último se evalúa el dato que contiene la celda que recorre el bucle en cada momento, verificando si es una celda vacía, en ese caso elimina toda la fila en blanco en Excel, para ello se usa el siguiente código.

If a.Cells(x, "A") = Empty Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1


A continuación se encuentra el código VBA de la Macro que permite Eliminar Filas en Excel, seguidamente y antes de finalizar el post se encuentre el Link para descargar el archivo Excel de Ejemplo de Macro utilizado.

Código que se inserta en un módulo

'**************https://programarexcel.com  **** https://youtube.com/programarexcel*********

Sub EliminaFila()

Application.ScreenUpdating = False

On Error Resume Next

Set a = Sheets("Hoja1")

uf = Range("A" & Rows.Count).End(xlUp).Row

For x = uf To 2 Step -1

If a.Cells(x, "A") = Empty Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1

Next x

MsgBox ("Se eliminaron " & conta & " registros"), vbInformation, "AVISO"

Application.ScreenUpdating = True

End Sub


Sub DeNuevo()

Set a = Sheets("Hoja1")

uf = Range("A" & Rows.Count).End(xlUp).Row

a.Range("A1:G" & uf).Clear

Sheets("Hoja2").Range("A:G").Copy Destination:=a.Range("A1")

MsgBox ("Se copio la base de datos nuevamente"), vbInformation, "AVISO"

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.



Como Eliminar Filas Excel en Base a Color de Celda








Como Eliminar Filas en Base a Criterios

En este ejemplo se muestra Como Eliminar Filas de Exel en Base al Color de Celda con macro de Excel VBA, en otras palabras la Macro podrá Quitar las Filas de Excel que coincidan con un Determinado Color usado como criterio.


Encuentra más macros de Excel relacionadas con eliminar filas en base a criterio en el siguiente playlist encontrarás, suscribe al canal para que YouTube avise de nuevo contenido.

Si requieres operar las planillas u hojas de cálculo en forma eficaz, 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.

  

Suscribe a nuestro canal y activa la campana para que YouTube te avise cuando se suba nuevo contenido al canal, en el vídeo verás la macro en acción, encontrarás una explicación gráfica y detallada del ejemplo que se muestra en este post.









 



En que consiste el ejemplo Como Eliminar Filas en Base a Color de Celda


El ejemplo es bastante sencillo, consiste en recorrer las filas de Excel desde la primer a la última fila con datos de una columna determinada, verificando si la celda correspondiente es igual al color elegido como criterio para eliminar filas de excel, en caso verdadero elimina la fila completa.

En este ejemplo el color se toma de la celda H1, es decir eliminará todas las celdas que sean iguales al color de la celda mencionada, en este caso amarillo, también se puede escribir en una variable el código del color, o si no se sabe el código del color se puede poner una celda con el color deseado y ejecutar el siguiente:

colo = a.Cells(1, "H").Interior.Color

El código anterior permite determinar o saber cual es el color o código de la paleta de colores, como sucede en el caso del ejemplo que se presenta el color de la celda se determina y carga en una variable, pero si conocemos el código del color se puede usar directamente sin determinarlo mediante código de VBA.

Cual es la Codificación que permite Eliminar Filas en Base a Color de Celda


En primer se determina cual es la última fila con datos, esto se hace a través del siguiente código

uf = Range("A" & Rows.Count).End(xlUp).Row


Luego se realiza un bucle entre al última fila con datos y la primer fila, es decir se viene eliminando las filas coincidente con el criterio de eliminación desde abajo hacia arriba, esto tiene una ventaja, ya que si el bucle se hace de arriba hacia abajo, es decir las filas se recorren de la menor a la mayor, puede provocar errores ya que al eliminar una fila todas se desplazan hacia arriba y el bucle saltaría o no verificaría la fila que se desplazó hacia arriba y en el caso que también coincidiera con el criterio de eliminación, no se eliminaría, porque se desplazó hacia arriba y el bucle ya recorrió esa fila, provocando que no se elimine la fila a pesar de coincidir con el criterio de búsqueda, este se puede salvar, pero se tiene que agregar más código, lo cual se soluciona fácilmente recorriendo las filas de abajo hacia arriba, se usa el siguiente código.

For x = uf To 2 Step -1

Step -1 es lo que permite al bucle recorrer las filas de Excel desde abajo hacia arriba,

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también

Como Eliminar Duplicados en Excel con Varios Criterios


Como Abrir un Formulario Desde un Listbox

Como Eliminar Filas cuyo Criterio se Encuentre en Cualquier Parte de la Cadena de Texto

Para determinar si una fila de debe eliminar se debe recurrir a "If", que permite comparar el color de la celda que recorre en cada momento el bucle con el color de la celda H1 en este caso o el color que indiquemos en la variable "colo".

If a.Cells(x, "A").Interior.Color = colo Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1

Para eliminar una fila entera se usa el siguiente código, que es el que se aplica cuando la fila analizada se corresponde o es igual al color establecido como criterio para eliminar filas

a.Cells(x, "A").EntireRow.Delete


Como Eliminar Filas En Base a Color de Celda, es el nombre del ejemplo cuyo archivo usado se puede descargar desde el post del final, seguidamente  el código completo del ejemplo.


Código que se inserta en un módulo

'**************https://programarexcel.com  **** https://youtube.com/programarexcel*********

Sub EliminaFila()

Application.ScreenUpdating = False

On Error Resume Next

Set a = Sheets("Hoja1")

uf = Range("A" & Rows.Count).End(xlUp).Row

colo = a.Cells(1, "H").Interior.Color

For x = uf To 2 Step -1

If a.Cells(x, "A").Interior.Color = colo Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1

Next x

MsgBox ("Se eliminaron " & conta & " registros"), vbInformation, "AVISO"

Application.ScreenUpdating = True

End Sub


Sub DeNuevo()

Set a = Sheets("Hoja1")

uf = Range("A" & Rows.Count).End(xlUp).Row

a.Range("A1:G" & uf).Clear

Sheets("Hoja2").Range("A:G").Copy Destination:=a.Range("A1")

MsgBox ("Se copio la base de datos nuevamente"), vbInformation, "AVISO"

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      

Bitacium se prepara para el más increíble lanzamiento


Bitacium se prepara para el más increíble lanzamiento

Bitacium competirá por innovar los ecosistemas fintech globales transfronterizos


La tendencia sigue su curso, trayendo ecosistemas cada vez más completos. El lanzamiento de la criptomoneda que son exclusivamente para pagos punto a punto ha finalizado. La tendencia se ha mejorado y los proyectos de tokenización emergentes cubren un rico ecosistema. La replica de los servicios tradicionales en del ciberespacio continúa, incluso mejorando los modelos tradicionales cuando se digitalizan. En el sector de tecnología financiera, la adopción global de criptomonedas, tokens, contratos inteligentes y billeteras multifunción está comenzando a ser la norma. Un sector tan exigente como es requiere que los últimos avances e implementaciones sean competitivos.

Bitacium ofrece un ecosistema completo a través de su billetera. Además de la cartera, un ecosistema de servicios e interacciones que involucrará y desarrollará el token XBOND. Bitacium se enfoca en usuarios de redes sociales, comerciantes, comerciantes y negocios de comercio electrónico. En el sitio web de Bitacium leemos lo siguiente:

"Trabajaremos constantemente para mejorar la tecnología y la experiencia de los usuarios, resolviendo problemas cotidianos, uno a uno".

Por lo tanto, el ecosistema requiere una gestión completa de los activos, comunicación entre pares y otras implementaciones que se describen en detalle. 


La retención del usuario depende de varios factores como versatilidad de la plataforma, seguridad e interfaces intuitivas


La retención del usuario es muy importante para las plataformas, un usuario satisfecho brinda su tiempo y atención. La relación entre estos servicios debe ser natural, sin molestos pasos intermedios, simplemente equilibrada. La plataforma Bitacium ofrece a los usuarios la capacidad de acceder, transferir, comprar, vender productos y servicios desde cualquier ubicación. En este aspecto, la versatilidad está garantizada con la inclusión de las mejores criptomonedas y tokens. Otro aspecto relacionado con la versatilidad de la plataforma es la gestión y / o uso de divisas extranjeras en el ecosistema. Bitacium ofrece un menú de servicios y utilidades para cumplir con las expectativas de 2019.

Por otro lado, la seguridad es vital en una era en la que se están digitalizando los ataques físicos, los robos y la coerción. Esta tendencia se consolida a un ritmo creciente. Por lo tanto, un servicio de calidad requiere seguridad avanzada. ¿Qué serviría todo el ecosistema propuesto en un sistema lleno de brechas? La red Ethereum es la segunda en capitalización del mercado de criptografía y su poder de hachís ofrece dicha seguridad. Bitacium ha elegido el ecosistema de la red Ethereum para ofrecer a su comunidad. Recientemente hemos sido testigos de cómo un truco del 51% asestó un golpe a lacadena de bloques Ethereum Classic; Esto refuerza la necesidad de poderosos ecosistemas de refuerzo para garantizar la seguridad de los servicios y los datos.

El XBOND es un token único creado bajo el estándar Erc-20. Se emitirá a los inversores de la oferta inicial (ITO / primeros usuarios). Estos inversores pueden adquirir las fichas durante la venta de fichas desde su sitio web. El XBOND se puede utilizar como garantía en la plataforma para obtener un préstamo. La cantidad de XBOND que un titular hodl determina cuánto recibe el hodler de la plataforma.


XBOND ofrecerá funciones como colateral para préstamos


Una de las funciones principales de XBOND es respaldar los préstamos, el núcleo fundador de Bitacium demuestra una confianza total en su producto. El XBOND será la puerta de entrada para obtener préstamos de la plataforma a una tasa de interés baja. Esto proporcionará liquidez en tiempo récord a los usuarios con una reserva en su poder como garantía colateral.

A veces, la liquidez es necesaria en un corto período de tiempo y, por razones esenciales, no podemos disponer del monto total. No hay ningún problema con XBOND, si el token se guarda en la cartera, proporcionará la función de garantía y el usuario tendrá la cantidad correspondiente. Como una utilidad colateral a usar, este será otro de los múltiples casos de uso ideados; así el ecosistema ofrece alternativas, variedad y posibilidades de negocio abiertas. 


El intercambio descentralizado formará parte como pieza importante el ecosistema de Bitacium


Múltiples personalidades del escenario criptográfico lo han declarado públicamente, los intercambios DEX son el futuro. Años más tarde, vemos cómo podemos encontrar varios intercambios descentralizados entre los intercambios principales. La funcionalidad instantánea sin tiempos fuera de línea hace que los intercambios de DEX sean una herramienta 100% activa.

Bitacium ofrecerá la gestión completa del usuario de sus propios Altcoins; por tanto, tiene sentido que el intercambio descentralizado complete el círculo. Esto amplía las posibilidades del ecosistema. El token ofrecido, XBOND, funciona en la red de Ethereum para que pueda operar en el DEX con múltiples pares comerciales. Una ventaja adicional, ya que los titulares de XBOND ganan con la plataforma de intercambio Bitacium. La combinación de un intercambio centralizado y descentralizado comienza a ganar fuerza en el sector y Bitacium ofrecerá las dos opciones a sus usuarios.

La plataforma ofrecerá múltiples opciones de administración y funciones de redes sociales para interactuar / negociar entre usuarios, el intercambio descentralizado proporciona la parte esencial de autogestión cambiaria para los traders más apasionados. 


Fidelización, la plataforma Bitacium recompensará a los usuarios por sus transacciones  


Además de las recompensas en el intercambio, se propone un modelo más extenso. En los proyectos más recientes, se observa que aspectos como el incentivo por realizar acciones han ganado fuerza. Anteriormente comentamos que las billeteras proporcionan cada vez más funciones; Estas acciones y su monitoreo abren nuevas rutas de interacción entre la plataforma y el usuario (p2p).


Aprovechando estas posibilidades, Bitacium está implementando un sistema de recompensas a través de CashBack, promociones y descuentos especiales; La posibilidad de negociar con otros usuarios, discutir negocios y firmar acuerdos, todo esto además de realizar transacciones con el token XBOND. Los casos de uso del token comienzan a ser múltiples. En el sitio web, presentan un ejemplo de caso de uso entre usuarios que representa los posibles beneficios de ser parte del ecosistema:

“Por ejemplo, el Consumidor A compra el artículo al Comerciante B a un precio más barato que el precio del mercado, ambos pueden chatear y realizar transacciones en la plataforma de Bitacium, USANDO XBOND para eliminar cualquier cargo de transacción. El Consumidor A gana un bono de devolución de dinero por comprar a través de nuestro comerciante. Al final de una sesión de negociación, tanto el Consumidor A, el Comerciante B, como todos los demás usuarios de la plataforma Bitacium reciben una recompensa de uso compartido del token distribuido por participar en acuerdos de comercio electrónico utilizando nuestra plataforma blockchain.”


El ecosistema de recompensa y consenso incluirá e incentivará sin exclusión  


Los incentivos o recompensas del token XBOND se recomiendan a todos los tipos de usuarios, algunas criptomonedas y ecosistemas recompensan ciertos tipos de acciones, mientras que otras son completamente opuestas. Los usuarios del ecosistema lanzado por Bitacium obtendrán compensaciones independientemente de sus acciones. Además del modelo de recompensa mediante cashback, hay un modelo alternativo asociado con las ganancias de la plataforma. Cada usuario que posea tokens XBOND obtendrá su parte proporcional de los beneficios de la plataforma. Podríamos decir que es una forma de que la empresa devuelva a los inversores el valor creado con su inversión y participación temprana. 

Otros proyectos han optado por métodos de incentivos más limitados, que siempre excluyen a una parte de los usuarios. En esta línea podemos decir que son modelos no inclusivos para algunos usuarios y modelos de incentivo para otros. El sistema diseñado para el proyecto Bitacium y el token XBOND ofrece un menú completo de posibilidades de incentivo para cada usuario. Esto implica que tanto los usuarios que realizan una inversión a largo plazo (en el estilo HODL) como los traders más activos queden satisfechos. 

La plataforma otorga a los usuarios el protagonismo que merecen, alentando a todos y cada uno de ellos. Otro aspecto que refuerza la afirmación anterior es el sistema de gobierno y votación. Los tenedores de XBOND pueden votar para decidir sobre la toma de decisiones por consenso y otros detalles. Esto demuestra que la transparencia y el compromiso de la empresa pueden beneficiar a los miembros de la comunidad, los clientes, los seguidores y los "hodlers".  


Entretenimiento garantizado sin abandonar el ecosistema de Bitacium en la zona de juegos  


Comenzamos señalando que el sector parece haber evolucionado hacia proyectos de nueva creación más completos. Señalamos, la importancia de ver que las nuevas criptomonedas o tokens no se limitan únicamente a las transacciones p2p. En esta línea, Bitacium enriquece aún más su propuesta. Una sección incluida en su sistema ofrecerá un ecosistema de entretenimiento completo; BITACIUM GAME ZONE proporciona un espacio en el que pasar un buen rato entre tanto espacio de transferencia en el que también interactuará el token XBOND.  A partir de la documentación, verificamos que la zona de juego interactúa en el ecosistema del token de la siguiente manera. Los usuarios pueden jugar cambiando otras altcoins al token XBOND, y luego usar XBOND como la moneda base de tarifas del juego. Esta implementación puede aumentar el uso del token de una manera adicional con mucho más volumen de uso.  En conclusión, observamos que el proyecto Bitacium ofrece un menú muy completo de servicios e interacciones. Con el mercado respirando aire fresco después de un abrumador 2018, las nuevas propuestas de 2019 comienzan manteniéndose firmes. 





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

Como Buscar en Excel Mientras se Escribe y Cargar Listbox con SQL







Como Buscar en Excel Mientras se Escribe en Textbox y Cargar en Listbox 

Buscar en excel mientras se escribeEn el presente post se muestra Como Filtrar en Excel Mientras se Escribe en Textbox y Mostrar los Datos Filtrados en Listbox, utilizando SQL - VBA.

La macro de Excel lista los datos filtrados, crea un filtro avanzado en Excel, que permite usar SQL en Excel, lo que crea una búsqueda dinámica en Excel en tiempo real o automática al ir buscando en la filas de la base de datos de Excel, mientras se va escribiendo en un Textobox, lo que vuelve a la macro un buscador inteligente en Excel.

En el playlist Conectar Excel con Excel con SQL de nuestro canal de YuoTube se muestran varias macros de excel que permiten filtrar en Excel con SQL utilizando la clausula Select, Where entre otras sentencias SQL.

Si te estás iniciando en la operación de Excel o requieres afirmar conocimientos, recomiendo leer un excelente libro 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

  

Suscribe a nuestro canal para que YouTube te avise cuando se suba nuevo contenido al canal, en el vídeo encontrarás una explicación gráfica y detallada del ejemplo que se muestra en este post.







 


Como Funciona la macro de búsqueda avanzada en Excel VBA tiempo real


El ejemplos de macro de Excel de búsqueda avanzada, se puede descargar desde el final del post, una vez realizada la descarga de la macro, al abrir el archivo de Excel se muestra un formulario de Excel que contiene un Textbox que se donde se escribirán los datos para ejecutar una consulta SQL en una tabla de Excel.

Luego de ingresar un mínimo de tres caracteres en el Textbox de Excel, empieza la ejecución de la macro, la cual va cargando en el listbox todas las coincidencias que encuentre con los caracteres que se van escribiendo, la carga se hace en tiempo real o en forma simultanea a medida que se escribe en el textbox.

La macro que filtra las filas de Excel con SQL, se encuentra en el evento Change del listbox que se usa para el ingreso de datos para luego realizar la búsqueda avanzada en Excel en tiempo real.


⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizás sea de utilidad también

Combinar Excel con Access


Conectar Excel con Excel Obtener Todos los Datos de un Mismo Libro con SQL

Como Filtrar Datos de Otro Libro Excel en Base Criterios con SQL



Como se Crea la Macro de Búsqueda Avanzada Mientras se Escribe en Textbox


Como se dijo la macro se encuentra en el evento Change del Textbox que se encuentre en el userform de Excel, lo primero que se debe hacer para trabajar con SQL en Excel VBA es activar la referencia para que no provoque error, ello se hacer desde el Editor de VBA desde el menú HERRAMIENTAS luego REFERENCIAS debiendo activar la referencia denominada "Microsoft ActiveX Data Objects 2.5 Library".

 Habiendo activado la referencia nombrada, se dimensionan variables y crea el objeto conexión y objeto recorset, de la siguiente forma:


Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

Luego y lo más importante es crear la conexión ADODB para poder trabajar con SQL en Excel VBA, en este caso se conectará con el mismo libro, se usa el siguiente código:

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=Yes;"""

Posterior se debe crear la SQL o String de consulta, que es la que tendrá los parámetros para filtrar o consultar los datos requeridos, así:

sql = "SELECT * FROM [" & "Hoja1$" & "] WHERE Ucase(Descripcion) LIKE Ucase('%" & UserForm1.TextBox1 & "%') ORDER BY ID ASC"


El código anterior dice: seleccione todos los campos o columnas de la tabla1 (Hoja1), cuando el dato de la fila correspondiente y columna "Descripción" (columna C del ejemplo) coincida con los caracteres escritos en el Textbox, sea que los caracteres o palabra escrita se encuentre al principio, medio, final o sea parte de una cadena de caracteres.

Si la consulta SQL en Excel encontró datos coincidentes en al base de datos con lo escrito en el textbox, éstos son cargados en el objeto "rs", teniendo los datos en memoria hasta que sean usados y se liberen las variables, luego carga los datos en el listbox, pero primero limpia el listbox, agrega un item para cargar la cabecera o titulo de las columnas, se realiza un bucle entre el primer dato y el último dato encontrado por el filtro cuyos datos están en memoria, se usa los siguientes códigos:

b.Clear
b.AddItem
rs.MoveFirst
Do While Not rs.EOF
b.AddItem rs.Fields(0).Value
b.List(b.ListCount - 1, 1) = rs.Fields(1).Value
b.List(b.ListCount - 1, 2) = rs.Fields(2).Value
b.List(b.ListCount - 1, 3) = rs.Fields(3).Value
b.List(b.ListCount - 1, 4) = rs.Fields(4).Value
b.List(b.ListCount - 1, 5) = rs.Fields(5).Value
b.List(b.ListCount - 1, 6) = rs.Fields(6).Value
rs.MoveNext
Loop

Para cargar la cabecera o título de columnas se usa el siguiente código:

For ii = 0 To rs.Fields.Count - 1
b.List(0, ii) = rs.Fields(ii).Name
Next ii


Código del ejemplo y descarga del archivo de excel utilizado


Seguidamente se muestra el código completo de la macro denominada Como Filtrar Datos de Excel Mientras se Escribe y Llenar Listbox Utilizando SQL, se muestra el código contenido en el Formulario de Excel y el código contenido en el módulo, para realizar la descarga en forma gratuita se debe realizar desde los link del final del post.


Código que se inserta en un Formulario de Excel

'-------------------------------------------------------------------------------------------------------
' By marcrodos   https:// programarexcel.com *********  https://youtube.com/programarexcel
'-------------------------------------------------------------------------------------------------------

Private Sub CommandButton3_Click()
Unload UserForm1
End Sub

Private Sub TextBox1_Change()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
On Error Resume Next

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set a = Sheets("Hoja1")
Set b = UserForm1.ListBox1
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=Yes;"""


If Trim(UserForm1.TextBox1.Value) = "" Then
sql = "SELECT * FROM [" & "Hoja1$" & "]"
Set rs = cn.Execute(sql)
b.Clear
rs.MoveFirst
Do While Not rs.EOF
b.AddItem rs.Fields(0).Value
b.List(b.ListCount - 1, 1) = rs.Fields(1).Value
b.List(b.ListCount - 1, 2) = rs.Fields(2).Value
b.List(b.ListCount - 1, 3) = rs.Fields(3).Value
b.List(b.ListCount - 1, 4) = rs.Fields(4).Value
b.List(b.ListCount - 1, 5) = rs.Fields(5).Value
b.List(b.ListCount - 1, 6) = rs.Fields(6).Value
rs.MoveNext
Loop
Exit Sub
End If


If Len(UserForm1.TextBox1) > 2 Then
sql = "SELECT * FROM [" & "Hoja1$" & "] WHERE Ucase(Descripcion) LIKE Ucase('%" & UserForm1.TextBox1 & "%') ORDER BY ID ASC"
Set rs = cn.Execute(sql)
UserForm1.ListBox1 = Clear

If rs.EOF = True Then
b.Clear
Set rs = Nothing
cn.Close
Set cn = Nothing
Exit Sub

Else

b.Clear
b.AddItem
rs.MoveFirst
Do While Not rs.EOF
b.AddItem rs.Fields(0).Value
b.List(b.ListCount - 1, 1) = rs.Fields(1).Value
b.List(b.ListCount - 1, 2) = rs.Fields(2).Value
b.List(b.ListCount - 1, 3) = rs.Fields(3).Value
b.List(b.ListCount - 1, 4) = rs.Fields(4).Value
b.List(b.ListCount - 1, 5) = rs.Fields(5).Value
b.List(b.ListCount - 1, 6) = rs.Fields(6).Value
rs.MoveNext
Loop
End If

'Carga los datos de la cabecera en listbox
For ii = 0 To rs.Fields.Count - 1
b.List(0, ii) = rs.Fields(ii).Name
Next ii

Set rs = Nothing
cn.Close
Set cn = Nothing
b.ColumnWidths = "30 pt;50 pt;190 pt;50 pt;50 pt;50 pt;50 pt"
End If
End Sub

Private Sub UserForm_Initialize()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
On Error Resume Next
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set b = UserForm1.ListBox1


cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=Yes;"""
sql = "SELECT * FROM [" & "Hoja1$" & "]"

Set rs = cn.Execute(sql)

rs.MoveFirst
Do While Not rs.EOF
b.AddItem rs.Fields(0).Value
b.List(b.ListCount - 1, 1) = rs.Fields(1).Value
b.List(b.ListCount - 1, 2) = rs.Fields(2).Value
b.List(b.ListCount - 1, 3) = rs.Fields(3).Value
b.List(b.ListCount - 1, 4) = rs.Fields(4).Value
b.List(b.ListCount - 1, 5) = rs.Fields(5).Value
b.List(b.ListCount - 1, 6) = rs.Fields(6).Value
rs.MoveNext
Loop

b.ColumnCount = 7
b.ColumnWidths = "30 pt;50 pt;190 pt;50 pt;50 pt;50 pt;50 pt"

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
On Error GoTo Fin
If CloseMode <> 1 Then Cancel = True
Fin:
End Sub



Código que se inserta en un módulo

'-------------------------------------------------------------------------------------------------------

' By marcrodos   https:// programarexcel.com *********  https://youtube.com/programarexcel

'-------------------------------------------------------------------------------------------------------

#If VBA7 And Win64 Then

'Si es de 64 bits

Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr

Public Declare PtrSafe Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr

Public Declare PtrSafe Function GetWindowLongPtr Lib "USER32" Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr

Public Declare PtrSafe Function SetWindowLongPtr Lib "USER32" Alias "SetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr

Public Declare PtrSafe Function DrawMenuBar Lib "USER32" (ByVal hwnd As Long) As LongPtr

Public Declare PtrSafe Function RegOpenKeyA Lib "advapire32.dll" (ByVal hKey As LongPtr, ByVal lpSubKey As String, phkResult As LongPtr) As LongPtr

#Else

'Si es de 32 bits

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Public Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Public Declare Function DrawMenuBar Lib "USER32" (ByVal hwnd As Long) As Long

Public Declare Function RegOpenKeyA Lib "advapire32.dll" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

#End If

Sub muestra1()

UserForm1.Show

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      

Paradise Token adopción del turismo con el token PDT


Paradise Token, adopción del turismo con el token PDT

El Token PDT revolucionará internacionalmente el turismo vía blockchain 


El turismo, un mercado inmenso en el que millones de personas gestionan o disfrutan a diario de miles de vuelos internacionales. A los vuelos, podemos sumar servicios adyacentes y múltiples disciplinas locales asociadas al comercio que provoca la afluencia de turistas. Es el escenario en el que se involucra el lanzamiento de Paradise Token, y su token PDT. Esto pondrá difíciles las cosas a la competencia en adelante.

El sector del turismo es un sector ultracompetitivo, por lo que un movimiento innovador exitoso puede provocar la adopción por parte de todos los actores del mercado. El hecho es, que algunos proyectos de nueva creación han tratado de integrar tokens en el ecosistema, con serias dificultades. No por dificultades de infraestructura, ya que el ecosistema internacional del turismo está a la vanguardia; muchos comercios de alto nivel aceptan ya Bitcoin, además se puede disfrutar en sus inmediaciones de las nuevas tecnologías y lujos.

Sin embargo, es un sector con potentes y enormes redes hoteleras; no es fácil adentrarse en el gran mercado que ofrece sin una infraestructura global previa. ParadiseToken, tiene todos los indicadores de un proyecto sólido y reforzado debido a su asociación con Intercontex Group. Dicha asociación aporta un potencial alcance a más de 120.000 entidades entre hoteles, aerolíneas y comercios; esa es la espectacular cifra que se maneja. Como una parte del Grupo Intercontex quedan asociados a los hoteles de grupo más grandes del mundo; la lista es tan extensa como llamativa: Hilton, Marriott, Wyndham, IHG, Jumeirah, Kempinski, Loews Hotels, RIU Hotels, Tokyu Hotels, Langham Hospitality Group y más.  


Digitalizar y tokenizar el ecosistema ya forjado, el reto del Token PDT para 2019


Obviamente con redes hoteleras de tales magnitudes asociadas, se involucran restaurantes y cualquier tipo de entretenimiento. Por ello los casos de uso son tan variados que ni nos detendremos a enumerarlos. La base e idea pasa por tokenizar mediante las relaciones ya existentes, una serie de servicios más que completa. Todo ello añadido a una gran base de clientes existente. Un ejemplo sería ofertar tokens del ecosistema a los clientes por visitar y disponer de una cadena de gastronomía exquisita/gourmet asociada.

En lugar de crear un token y buscar el ecosistema en el que implementarlo; adoptar la digitalización vía blockchain de un proyecto ya consolidado parece más lógico y menos arriesgado, claramente un punto a favor. Paradisetoken ofrece poder utilizar su token PDT en toda una red global. Disponiendo de un servicio directo y totalmente normalizado; incluye una amplia lista de países y las Cadenas de hoteles más grandes, listo para realizar la reserva en minutos con el token.

Pagar las vacaciones usando el Token PDT es un claro ejemplo de lo que puede hacerse desde el inicio; por lo que la infraestructura inicial puede antojarse de una red no vista hasta ahora en los proyectos ICO de 2017 y 2018. Sin terceros y sin comisiones sorpresa, es lo que ofrecen las tecnologías p2p y adopta como lema ParadiseToken. Recordemos que como usuario, el tenedor del token podrá utilizar instantáneamente el PDT para reservar hoteles/restaurantes/vuelos directamente sin terceros.


Detalles del token y ecosistema PDT ofrecido en el lanzamiento inicial


El evento registra más acontecimientos en torno al token PDT, pero nos detenemos a comentarlo un instante. El token formará parte de todo un conjunto de herramientas en el protocolo del ecosistema generado. Los protocolos PDT proporcionan a desarrolladores la base para construir aplicaciones descentralizadas (dApps). Dichos protocolos son soluciones de código abierto para administrar reservas/pagos seguros vía blockchain. El token PDT, es un token de utilidad (utility) nativo de la red Ethereum, concretamente un token del estándar Erc-20.  






Por ello, es compatible con un amplio menú de carteras. Obviamente, MyEtherWallet y Metamask son las más conocidas; aunque hay muchas más compatibles con los tokens nativos de la red Ethereum. Las cifras en torno a la adquisición inicial del token PDT varían en función de detalles puntuales; por ejemplo, la fecha en la que se participe. Teniendo en cuenta dichos factores, el precio de adquisición oscila entre 10000 y 14000 tokens PDT por cada Ether aportado. Por lo que queda con ello una relación 10.000/14.000:1 (PDT:ETH); todo ello con una fecha límite del próximo 09 de marzo. Al final del artículo compartimos un enlace a la venta del token; también recomendamos visitar tanto la web, como la documentación oficiales para más detalle: 

  • Primera semana bono 40% | 14000 PDT = 1 Eth. 
  • Segunda semana bono 0% | 10000 PDT = 1 Eth. 
  • Tercera semana bono 0% | 10000 PDT = 1 Eth. 
  • Cuarta semana bono 0% | 10000 PDT = 1 Eth.


Lo que viene para 2019 en el ecosistema del token PDT


Una vez finalizada la venta inicial y puestas en marcha las etapas siguientes, las operaciones son más que relevantes. Nos ha llamado especialmente la atención el tercer trimestre del año, es el más activo dentro de las operaciones previstas. Unos datos que vienen detallados en su mapa de ruta (RoadMap) por lo que son datos públicos del núcleo de Paradise Token. El coste total estimado de todas las operaciones comprendidas para el tercer trimestre es de 1.700.000 dólares. Las operaciones son las habituales para un proyecto de dicha magnitd, como puedan ser los costos de servidores AWS. las describimos a continuación.

Como se mencionó anteriormente, para el tercer trimestre se espera que el Token PDT de reserva ejecutado por contrato inteligente esté listo; con los ecosistemas incorporados de Tokio, Singapur, Hong Kong, Bali. Todo ello conlleva un desarrollo constante, seguro y disponible globalmente para las sedes involucradas. El fin de la oferta inicial es crear una solución de comercio electrónico completa. La primera versión de la calificación de confianza está entre los objetivos del tercer trimestre.

Desarrollar una pasarela de pago completamente funcional con una interfaz de usuario para comerciantes de comercio electrónico completa la funcionalidad global. Ya que la tendencia de 2019 está siendo llevar a las billeteras todas las funcionalidades y servicios. Se espera que por tanto para el segundo semestre del año esté desarrollada una infraestructura adicional a la ya conformada a las magnitudes de las operaciones.Además de los respectivos requisitos de seguridad pertinentes con funciones de seguridad completas (anti CSRF Token, cifrado AES, 2FA).


La base de clientes establecida puede ser incentivada por los comercios y hoteles asociados 


Una vez expuestos buena parte de los detalles, las ideas que nos vienen al pensamiento son casi ilimitadas. Promociones de fidelización de clientes, campañas fuera de temporada para reactivar zonas turísitcas; un sin fín de posibilidades gracias a la tokenización p2p de los ecosistemas tradicionales. Una base establecida de clientes de entidades como son las cadenas Hilton, Marriott, Tokyu Hotels o Langham Hospitality Group podrá disfrutar desde bien temprano de los incentivos de usar el token PDT para sus vacaciones.

Si le gustó leer sobre la venta inicial del token PDT, puede acceder a los enlaces oficiales proporcionados a continuación.  

Fuentes y Enlaces oficiales: 
                    ParadiseToken PDT Web Oficial              Telegram ParadiseToken                                                 PDT Oficial      Venta oficial del Token PDT

Puede seguir la actividad del contrato inteligente del token PDT aquí: https://etherscan.io/token/0xFa2B9E5f4b60767D4C3ca6e316d8599311419B3e 
Algunas billeteras compatibles con Ethereum y los tokens estándar Erc: 





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