martes, 29 de julio de 2025

Código VBA de macros de Excel (Bingo)

 LINK CONTRASEÑAS MACROS DE BINGO CON EXCEL

Hola, amigos, gracias por formar parte de miembros del canal @jaimeisrael2978.



A continuación comparto el link de un texto donde se encuentran las contraseñas de las macros.

Este link les redirigirá hacia la publicación donde se encuentran las contraseñas de mis archivos con macros publicadas en mi canal (disponible para insignias doradas).




jueves, 8 de mayo de 2025

📲 Crea tu App de Toma de Pedidos con AppSheet: Contenido Premium para Miembros

SER PARTE DE LA COMUNIDAD DE MIEMBROS DE MI CANAL

Explora de manera detallada el proceso de creación de una aplicación de procesamiento de pedidos para tiendas y negocios utilizando AppSheet. Incorpórese a mi canal de YouTube para obtener acceso a contenido exclusivo, soporte en vivo y recursos de vanguardia.

1. ¡Ya está disponible el nuevo video! --> disponible para miembros de Insignia Dorada

He subido un video "App de Toma de Pedidos en #appsheet | Crea Aplicaciones para Tiendas y Negocios" detallado donde te muestro:

  • Cómo diseñar las tablas de datos en AppSheets.

  • Configuración de vistas (formularios, tableros y galerías) para capturar pedidos.

  • Acciones para toma pedido



2. ¿Por qué unirte como miembro?

Al cumplir las 3.000 horas de reproducción y 1.000 suscriptores ( ver mi canal: https://www.youtube.com/@jaimeisrael2978), activé las Membresías de YouTube para ofrecerte:


¿Qué vas a encontrar en el nivel Dorado?

  • Tutoriales completos con casos reales

  • Plantillas descargables (.gsheet, .xlsx, .json)

  • Sesiones Q&A en directo para resolver tus dudas al instante

3. Ventajas de ser miembro “Gold” desde hoy

  1. Acceso inmediato a mi mejor contenido: desde integraciones avanzadas hasta optimización de workflows.

  2. Prioridad en tus consultas: responde tus preguntas directo en el chat de la transmisión.

  3. Material descargable: bases de datos de ejemplo, scripts listos para copiar y adaptar.

  4. *Networking: canal exclusivo de Discord/Telegram para miembros, donde podrás conectar con otros desarrolladores y emprendedores.

 

4. Cómo unirte

  1. Entra a mi canal de YouTube .

  2. Haz clic en “Unirse” y elige tu nivel de Membresía.

  3. ¡Disfruta del nuevo video y prepárate para llevar tus apps de negocio al siguiente nivel


5. Próximos lanzamientos (solo miembros)

  • Automatización avanzada de inventarios con AppSheet + Apps Scrip

    • Crear Menu interactivo de la Aplicación
    • Script para imprimir comprobante
    • Dashboard de ventas





  • Rules Format para App de una forma mas interactiva.

  • Conectar tu base de datos con aplicaciones interactivas como Looker Studio

  • Contenido de calidad y productividad en los videos para miembros



miércoles, 7 de mayo de 2025

Gestión de Órdenes de Trabajo para Empresas Técnicas

 🛠️ Proyecto: Gestión de Órdenes de Trabajo para Empresas Técnicas

Categoría: Telecomunicaciones / Servicios Técnicos
Plataforma: Google AppSheet

📌 Descripción del Proyecto

Esta aplicación fue desarrollada para empresas técnicas de telecomunicaciones con el objetivo de registrar y gestionar órdenes de trabajo en tiempo real desde dispositivos móviles. Facilita la asignación de tareas, el seguimiento del progreso y la comunicación entre el equipo técnico y administrativo.


🔍 Funcionalidades Clave

  • Registro de Órdenes: Creación y edición de órdenes de trabajo con detalles específicos del cliente y del servicio requerido.

  • Asignación de Técnicos: Designación de técnicos responsables para cada orden, con notificaciones automáticas.

  • Seguimiento en Tiempo Real: Actualización del estado de las órdenes y visualización del progreso desde cualquier dispositivo.

  • Generación de Reportes: Informes detallados de las órdenes completadas, pendientes y en proceso.

  • Integración con Google Sheets: Sincronización automática de datos para un análisis más profundo y respaldo de información.

🧰 Tecnologías Utilizadas

  • AppSheet: Plataforma de desarrollo sin código para crear aplicaciones personalizadas.

  • Google Sheets: Base de datos en la nube para almacenar y gestionar la información.

  • Google Apps Script: Automatización de procesos y generación de reportes personalizados.



sábado, 15 de febrero de 2025

Códigos distribuidor cartones de bingo en PDF por medio de correo usando AppSheets

 Script EnviarCorreo Adjuntando PDF

/**
 * Obtener el archivo PDF desde Google Drive usando el Field ID
 */
function obtenerPDFDesdeDrive(fileId) {
  try {
    var file = DriveApp.getFileById(fileId);
    return file.getAs('application/pdf');
  } catch (e) {
    Logger.log("❌ Error al obtener el PDF: " + e.toString());
    return null;
  }
}
function enviarCorreo(correoDestinatario, asunto, cuerpoCorreo, fieldId){
  // Enviar el correo electrónico
  var pdfBlob = obtenerPDFDesdeDrive(fieldId);
  MailApp.sendEmail({
    to: correoDestinatario,
    subject: asunto,
    htmlBody: cuerpoCorreo,
    attachments: [pdfBlob]
  });

  // Mostrar cuota diaria
  Logger.log(MailApp.getRemainingDailyQuota())
}

********************************************************************************************

ENVIAR CORREO ADJUNTANDO IMAGEN

*********************************************************************************************

function enviarCorreoConImagen(correoDestinatario, asunto, cuerpoCorreo, fileId) {
  // Obtener la imagen desde Drive
  var imagenBlob = obtenerImagenDesdeDrive(fileId);
 
  if (!imagenBlob) {
    Logger.log("❌ No se pudo adjuntar la imagen.");
    return;
  }

  // Enviar el correo electrónico con la imagen adjunta
  MailApp.sendEmail({
    to: correoDestinatario,
    subject: asunto,
    htmlBody: cuerpoCorreo,
    attachments: [imagenBlob]
  });

  // Mostrar cuota diaria restante
  Logger.log(MailApp.getRemainingDailyQuota());
}

function obtenerImagenDesdeDrive(fileId) {
  try {
    var file = DriveApp.getFileById(fileId);
    var mimeType = file.getMimeType();
   
    // Verificar si el archivo es una imagen
    if (!mimeType.startsWith("image/")) {
      Logger.log("❌ El archivo no es una imagen.");
      return null;
    }
   
    return file.getBlob();
  } catch (e) {
    Logger.log("❌ Error al obtener la imagen: " + e.toString());
    return null;
  }
}



********************************************************************************************

OBTENER FIELD ID

*********************************************************************************************
function listarCartonesEnCarpeta() {
  // ID de la carpeta de Google Drive
  const folderId = "Aquí reemplaza tu ID de la carpeta contenedora"; // Reemplaza con el ID de tu carpeta
  const folder = DriveApp.getFolderById(folderId);
 
  // Obtén los archivos de la carpeta
  const files = folder.getFiles();
  const hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 
  // Encabezados
  hoja.clear(); // Limpia la hoja actual
  hoja.appendRow(["ID_Carton", "Nombre", "FileId", "URL"]);

  while (files.hasNext()) {
    const file = files.next();
    const fileId = file.getId();
    const nombre = file.getName();
    const url = `https://drive.google.com/uc?export=view&id=${fileId}`;
    const uniqueId = generarUUID(); // Genera un ID único
   
    // Agrega datos a la hoja
    hoja.appendRow([uniqueId, nombre, fileId, url]);
  }
 
  SpreadsheetApp.flush();
  Logger.log("Cartones listados correctamente.");
}

// Función para generar UUID
function generarUUID() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    const r = Math.random() * 16 | 0;
    const v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}


Video explicativo sobre enviar correo con AppSheet adjuntando PDF




Video explicativo sobre enviar correo con AppSheet adjuntando imagen





viernes, 3 de enero de 2025

CREACIÓN DE CARTONES DE BINGO EN GOOGLE COLAB

 CARTONES BINGO DE 75 NUMEROS CON PYTHON

Hola amigos, para crear los cartones de bingo sigue los siguientes pasos:
  1. Descarga los archivos base de ejemplo
  2. Abre el link de google colab
  3. Cargar los archivos que descargaste dentro de Colab (lo arrastras al icono de carpeta)
Luego de ello podrás descargar el archivo PDF generado.




Si deseas un modelo personalizado, no dudes en contactarme: jaisizqu87@gmail.com


martes, 12 de noviembre de 2024

Código SVG para imagenes vectoriales

 CÓDIGO SVG PARA APPSHEETS

El siguiente código lo puedes usar para realizar imagenes vectoriales en appsheets, la misma que representa una bileltera de imagen de ingresos y egresos.

CONCATENATE( "data:image/svg+xml;utf8,", substitute( ' <svg width="300" height="150" xmlns="http://www.w3.org/2000/svg"> <!-- Fondo y bordes --> <rect x="10" y="10" width="280" height="130" rx="10" fill="#f8f8f8" stroke="#ddd" stroke-width="2" /> <!-- Ingresos --> <text x="50" y="40" font-size="12" fill="#4caf50" text-anchor="middle">Ingresos</text> <rect x="30" y="50" width="40" height="60" fill="#4caf50" rx="5" id="barraIngresos" /> <text x="50" y="120" font-size="10" fill="#333" text-anchor="middle">$'&[Ingresos]&'</text> <!-- Egresos --> <text x="250" y="40" font-size="12" fill="#f44336" text-anchor="middle">Egresos</text> <rect x="230" y="50" width="40" height="40" fill="#f44336" rx="5" id="barraEgresos" /> <text x="250" y="120" font-size="10" fill="#333" text-anchor="middle">$'&[Egresos]&'</text> <!-- Balance neto --> <text x="150" y="80" font-size="14" fill="#333" text-anchor="middle">Saldo</text> <text x="150" y="100" font-size="16" fill="#333" text-anchor="middle">$'&[saldo]&'</text> <!-- Línea divisoria --> <line x1="150" y1="50" x2="150" y2="110" stroke="#ccc" stroke-width="1" stroke-dasharray="2,2" /> </svg> ', "#", "%23") )

martes, 15 de octubre de 2024

Función Ordenar Aleatorio

 FUNCIÓN VBA ORDENARALEATORIO

A conitnuación te presento una función que ordena de manera aleatoria un rango específico, el cual te puede ayudar a realizar procesos específicos como desordenar un rango de manera aletoria.

----------------------------------------------------------------------------------------------------------------------------

Function OrdenarAleatoriamente(rango As Variant) As Variant

    'Establecer el rango de celdas que se ordenarán aleatoriamente

    'Crear una matriz para almacenar los valores originales del rango

    Dim valores As Variant

    valores = rango.Value

    'Crear una matriz para almacenar los índices de las filas del rango

    Dim indices() As Integer

    ReDim indices(1 To rango.Rows.Count)

    For i = 1 To rango.Rows.Count

        indices(i) = i

    Next i

    'Ordenar aleatoriamente los índices de las filas

    Randomize

    For i = 1 To rango.Rows.Count - 1

        j = Int((rango.Rows.Count - i + 1) * Rnd + i)

        temp = indices(j)

        indices(j) = indices(i)

        indices(i) = temp

    Next i

    

    'Rearmar los valores del rango en una nueva matriz ordenada aleatoriamente

    Dim valoresOrdenados() As Variant

    ReDim valoresOrdenados(1 To rango.Rows.Count, 1 To rango.Columns.Count)

    For i = 1 To rango.Rows.Count

        For j = 1 To rango.Columns.Count

            valoresOrdenados(i, j) = valores(indices(i), j)

        Next j

    Next i       

    'Colocar los valores ordenados aleatoriamente de vuelta en el rango de celdas original

    rango.Value = valoresOrdenados

End Function

------------------------------------------------------------------------------------------------------------------------

***********************************************************************************

'Por medio del siguiente código pordemos llamar a OrdenarAleatorio adjuntandole un rango específico.

Sub DesordenarAleatorio()    

       OrdenarAleatoriamente (hj_lista.[range_B])

       OrdenarAleatoriamente (hj_lista.[range_I])

       OrdenarAleatoriamente (hj_lista.[range_N])

       OrdenarAleatoriamente (hj_lista.[range_G])

       OrdenarAleatoriamente (hj_lista.[range_O])

End Sub

***********************************************************************************

No olivides compartir y dalre like a mi video.



jueves, 25 de julio de 2024

Cartones de BINGO de 75 números

 Creación de cartones de BINGO de 75 números

Para crear los cartones de bingo de 75 números, podemos realizarlos desde una hoja de cálculo de #excel utilizando macros ( #VBA). Podemos utilizar el siguiente archivo, en el cual podrás generar los cartones de bingo.   Archivo generador modelo

Te invito a visualizar el playlist de mi canal de youtube para que obtengas una idea más detallada sobre el desarrollo de cartones de bingo y el juego de bingo.

***********************************************************************************

Si deseas que yo te genere cartones de bingo en un formato o modelo particular, no dudes en contactarme a mi correo jaisizqu87@gmail.com.



Clave para ver macros de archivos compartidos de Bingo en mi canal disponible para miembros con insignia dorada. https://jaimeisrael87.blogspot.com/2025/07/codigo-vba-de-macros-de-excel-bingo.html

Curso de creación de cartones de bingo con VBA y Excel en Udemy , Hotmark:

Curso para crear un bombo virtual en Scratch


jueves, 2 de mayo de 2024

Función SorteoEntre(n,a,b)

 SORTEOENTRE(N,A,B)

Función en código VBA (Visual Basic for Applications) - Excel

En este blog te presento como puedes crear o generar "n" números aleatorios entre un rango (a - b), es decir puedes crear un máximo de (b-1) número aleatorios entre el rango de a y b.

A continuación el código conn su respectiva explicación.

Function SorteoEntre(n As Integer, a As Integer, b As Integer) As Variant
    Dim Numeros() As Integer 'Definimos variable tipo integer en la cual se almacenarán los números aleatorios ReDim Numeros(1 To n) 'definimos el rango de la variable hasta el tamaño de n numeros 'Generar aleatoriamente n números únicos entre a y b Dim i As Integer For i = 1 To n Dim numAleatorio As Integer Do numAleatorio = Int((b - a + 1) * Rnd + a) Loop Until Not InArray(numAleatorio, Numeros) 'Llamamos a la función InArray en la cual validamos si el número aleatorio generado ya forma parte de los números que vamos al macenando dentro de la variable Numeros() Numeros(i) = numAleatorio 'Si no forma parte, este número será almacenado dentro de la variable Numeros() Next i 'Devolver los n números generados aleatoriamente en la función SorteoEntre = Numeros End Function
'Con la siguiente función podemos verificar si un número está dentro de una array que enviamos a consultar como parámetro Function InArray(val As Integer, arr As Variant) As Boolean Dim i As Integer For i = LBound(arr) To UBound(arr) If arr(i) = val Then InArray = True Exit Function End If Next i InArray = False End Function

A continuación te presento un video tutorial sobre las funciones explicadas anteriormente.


No olvides comentar cualquie duda y si te gustó dale like y suscribete a mi canal para ver mas contenido como este...

Saludos,

jueves, 10 de agosto de 2023

Principios excenciales de #Excel

PRINCIPIOS ESCENCIALES DE EXCEL 365

Hola amigos, en este blog te voy a explicar lo básico o mínimo que debes conocer de excel para pasar de principiante a alguien con conocimientos esenciales.

PLANTILLA - LAYOUT

La primera parte es conocer la interfáz o plantilla que nos ofrece excel y sus partes principales, a continuación te presento una imagen, la cual las explicamos.


Las pestañas de la cinta de opciones son los elementos que nos dan acceso a visualizar unos botones o funcionalidades en excel, debemos aprender a tener contacto permanente con ellas y es fundamental saber para qué sirven, por ejemplo la pestaña Inicio contiene las siguientes opciones que se muestra en al cinta de opciones:
  • Portapapeles: Nos permite copiar, pegar, cortar.
  • Fuente: Nos permite dar un formato de fuente a nuestra area de areabajo o celdas particulas.
  • Alineación: Permite alinear texto a la izquierda, centro, derecha.
  • Número: con éste dart formato de número o texto a nuestros datos.
  • Estilos: Nos permite dar un estilo particular a nmuestras celdas o grupo de celdas
  • Celdas: permite insertar, eliminar, dar formato a nustras celdas
  • Edición: podemos editar, buscar, insertar funciones, filtrar y muchas cosas mas..
Dentro del área de trabajo nos encontramos con la celdas la cuales se componen de una letra (columna) y un número (fila), las cuales se presentan en el cuadro de nombres junto a la barra de formulas, en la cual se reflejan las formulas ingresadas, texto ingresado o números, en si los datos de cada celda.

En la parte inferior tenemos la barra de cuadro de nombres que estan construidas en nuestro libro de trabajo, las cuales podemos agregar las que deseamos y reubicarlas en el orden que deseamos.

Junto a la barra de cuadro de nombres en la parte inferior derecha tenemos un cuadro de vista botones, en la cual podemos dar clic y cambiar la vista de nuestro libro, junto a estos botones tenemos el área de zoom, por medio del cual podemos alejarnos o acernarnos en nuestra área de trabajo 
    

DAR FORMATO A NUESTROS DATOS DEL AREA DE TRABAJO

Antes

DAR FORMATO A NUESTROS DATOS DEL AREA DE TRABAJO

Después




A continuación te dejo un video tutorial de lo explicado anteriormente.





miércoles, 21 de junio de 2023

8 nuevas formulas de excel 365 para este 2023

 OCHO NUEVAS FORMULAS INTERESANTES DE EXCEL 365

A continuación te presento ocho nuevas formulas que puedes utilizar con excel 365, las cuales pueden ser de mucha utilidad para tus análisis de datos.

Función APILARV - APILARH

Con estas funciones podemos anexar matrices verticalmente y también horizontalmente en secuencia para devolver una matriz más grande.


Si tienes versión en ingles de tu excel, las puedes tipear como VSTACK y HSTACK



Función TEXTSPLIR - DIVIDIR TEXTO

Con estas funciones podemos dividir un texto en dos o mas columas dependiendo de el delimitador, ejemplo.


Con ello podemos dividir un texto de manera rápida



Función TEXTBEFORE TEXTAFTER - TEXTOANTES TEXTODESPUES

Textoantes


Función para dividir texto en base a un delimitador ya sea antes de este dlimiador ó después del delimitador, ejmeplo.


De esa forma obtenemos el texto antes del delimitador ","

Textodespues

También podemos utilizar para separar un texto y obtener el texto luego de un delimitador, ejemplo:


En este ejemplo el delimitador es " _ " con ello tenemos el resultado


Función IMAGE - IMAGEN

Esta función te permite ingresar una imagen, en origen insertamos el link de la imagen entre comillas " origen " y damos Enter.

Copiamos el link de una imagen desde google.


Insertamos dentro de la función IMAGEN.




IMAGE TO TALBE

Para importar datos desde una imgen, realizamos lo siguiente:

Vamos al menú Datos luego damos clic en Datos de imagen.


Luego seleccionamos la imagen que contiene la tabla de datos y presionamos aceptar.


En la parte derechase presenta una ventana donde se procesó la imagen y nos permite 
Insertar datos.



Con ello tenemos insertado nuestro datos.



Función TOCOL TOROW - ENCOL ENFILA

Con estas funciones podemos colocamos o unifar dos matrices en una sola columnas o fila.

El rango de Nombres tanto de una oficina como de la otra, la unifica en una sola columna

La función ENFILA realiza lo mismo pero en una sola fila.

Función TAKE DROP - TOMAR EXCLUIR

Función Take - Tomar

Esta función tomar devuelve un número especificado de filas o columnas contiguas desde el principio o el final de una matriz.



Función Drop - Excluir

La función excluir, te permite excluir un número especificado de filas o columnas del inicio o final de una matriz.



Función EXPAND - EXPANDIR


La función expandir, te permite expandir o rellenar una matriz a las dimensiones de fila y columnas especificada.


A continuación te presento un video donde puedes visualizar todas las finciones anteriormente explicadas.





Saludos..


Obtener datos de un pdf con Excel

Obtener datos de un PDF con Excel

Para obtener los datos de un archivo digital PDF con Excel, podemos hacer lo siguiente.

Abrimos una hoja de calculo de excel, luego en menú Datos seleccionamos Obtener Datos Desde un PDF



Seleecionamos el archivo PDF que queremos obtener datos y damos clic en Aceptar


Nos presenta una ventana en la cual automáticamente se presentar y tablas y hojas de datos, las cuales podemos seleecionarlas para poder insertarlas en nuestro libro, en mi ejemplo voy a seleccionar Page001 y luego clic en Cargar.


Con ello automáticamente se cargan los datos en formato tabla



Gracias por ver este blog... dale like y suscribete a mi canal..


Unir varias hojas de excel en una sola hoja

 UNIR VARIAS HOJAS DE CALCULO EN UNA SOLA

En este blog te voy a explicar como puedes unir varias hojas de excel en una sola hojas con unos simples pasos.

Vista de nuestro libro de excel

Aqui tenemos un libro de excel con varias hojas: 
  • Resultado Integral 1
  • Result. Integ. 2
  • Result. Integ.3
  • Result. Integ.4
  • Estado Situac. Financiera 1
  • Situac. Financiera 2
  • Situac. Financ. 3


Lo que queremos tener son solo dos hojas en la una que contenga todo los Estados de Situación Financiera y en otra hoja los Resultados Integrales.

Primero creamos dos hojas en blanco, en las cuales vamos a insertar o unificar las hojas que queremos.


Proceso para realizar u obtener los datos de nuestras hojas de cálculo

A continuación vamos a obtener los datos de nuestro libro

Obtener datos

Para obtener los datos vamos al menú Datos, clic en Obtener Datos, y seleccionamos de un Libro.


Si por a ó b queremos obtener datos de otro tipo de archivo como por ejemplo Desde un PDF, también podemos realizarlo.


Pero en nuestro caso de de un libro de excel, así que continuemos.

Seleccionamos el libro y damos clic en Abrir


Luego seleccionamos todas las hojas que queremos Cargar en este caso las hojas de Estado de situación financiero y las hojas de Resultados Integrales.


Luego en una ventana llamada Consultas y Conexiones observamos las tablas de las hojas que seleccionamos previamente.


Con ello estando en la Hoja 1, podemos ir ingresando cada consulta que deseamos unir.

Por ejemplo en Hoja 1 voy a ingresar primero Estado Situac Financiera 1, para ello doy clic derecho en esa conexión y selecciono Cargar en..




Nos da opciones de como queremos visulizar los datos seleeccionados (Tabla, informe de tabla dinámica, grafico dinámico), en este caso seleeciono Tabla, luego en la pregunta ¿Donde desea situar los datos? seleccionando la celda referencia donde se van a colocar esos datos, en mi caso en la celda B2 de la Hoja1 y finalmente presionamos Aceptar.



Con ello se insertan los datos y automáticamente se insertan con formato tabla, si no has manejado formato tabla te invito a visulizar este blog para que domines el uso de formato tabla.



Damos un formato que nos guste o podamos visulizarlo de mejeor manera, en mi ejemplo selecciono el primero y deselecciono filas con banda.


De la misma forma inserto las demás hojas en una sola

Por ejemplo voy a insertar la situación financiera 2 debajo de la tabla que previamente insertamos, en este caso desde la celda B61.



Y de esa forma realizamos una unión de varias hojas de excel en una sola, espero te haya sido de utilidad este blog, te invito a suscribirte a mi canal y a mi blogger para más tips.