Códigos más eficientes en Google Apps Script: Cómo recorrer una tabla de Google Sheets con arreglos

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • A medida que hacemos códigos más complejos en Google Apps Script que deben recorrer tablas grandes, vamos a encontrarnos con que debemos buscar formas mas eficientes de recorrer nuestras tablas
    Hoy te muestro como usar arreglos para hacer códigos mucho más poderosos y rápidos en Google Apps Script
    👍 Si te ha gustado este video, te encantará el curso gratis "Aprende Google Sheets en 2 horas". Aquí puedes obtener acceso juansguzman.co...
    📋 Puedes encontrar el código y la plantilla de este video (y los más de 350 videos del canal) inscribiéndote en un plan mensual o anual en mi membresía JuanSGuzman - juansguzman.com
    🎓Allí mismo, encontrarás un curso completo de Crear Formularios de Forms desde Sheets asi como más de 75 cursos completos de Sheets, Forms y Apps Script. Aquí puedes verlo juansguzman.co...
    ☎️ Si necesitas asesoría personalizada, ofrezco algunas horas a la semana de este servicio. juansguzman.co...
    🔔 Suscríbete al canal donde recibirás nuevos videos semanales de Sheets, Forms, Apps Script y más.
    Aquí algunos canales donde me puedes seguir y apoyar:
    📨 - Newsletter: juansguzman.co...
    ➤Patreon: juansguzman.co...
    ➤Telegram: juansguzman.co...
    ➤Instagram: juansguzman.co...
    ⓕ - Facebook: juansguzman.co...
    ➤Tiktok: juansguzman.co...
    𝕏 - (Twitter): juansguzman.co...
    Cualquier sugerencia, pregunta o inquietud, te invito a comentar más abajo

Комментарии • 118

  • @matuteblackk
    @matuteblackk Год назад +4

    Como desarrollador puedo decir que tu contenido es espectacular. Seguí así! Gracias y saludos desde Argentina.

  • @andresmauriciorendonocampo2161
    @andresmauriciorendonocampo2161 Год назад +2

    Amigo, muchisimas gracias por la explicaciónde arreglos, excelente.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @JuanMauricioSanchezHernandez
    @JuanMauricioSanchezHernandez 3 месяца назад +1

    Excelente como siempre!

  • @enriquegaytan380
    @enriquegaytan380 Год назад +1

    Que Barbaridad, que buenos arreglo. Llega justo cuando requerí hacer algo así ¡¡¡ Impreshionante!!!

    • @JuanSGuzman
      @JuanSGuzman  Год назад +1

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @overodd
    @overodd 5 месяцев назад +1

    Excelente forma de aprender Javascript, haciendo uso de Google Apps Script y Sheets.

    • @JuanSGuzman
      @JuanSGuzman  5 месяцев назад

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @naimlopez793
    @naimlopez793 11 месяцев назад +1

    Dos palabras:
    Eficiente 💪🏻🔥
    Profesional 😎
    Amo ver estos códigos y aprender 🥹

    • @JuanSGuzman
      @JuanSGuzman  11 месяцев назад +1

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @Letur-Lefr
    @Letur-Lefr Год назад +1

    Muchas gracias Juan! Estoy aprendiendo un montón con tus videos.

  • @dronehistory6954
    @dronehistory6954 Год назад +1

    Excelente clase de arreglos, muchas gracias Amigo.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @finachot
    @finachot 2 года назад +1

    Como siempre,simple y claro.

  • @alexarodriguez1725
    @alexarodriguez1725 2 года назад +1

    Muchas gracias por el vídeo, por fin aprendí que significa i en for ;-) Y también aprendí el poder de los arreglos. Mil gracias!

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @deptosalkilo8563
    @deptosalkilo8563 Год назад

    Juan, estoy tremendamente agradecido de ti, por tu ayuda, y por la calidad y profundidad que le imprimes a cada uno de tus tópicos. En este video nos enseñas a cómo optimizar código, con mejor código ! ... y eso no se aprende en todas partes. Sólo un granito de arena para retribuir: No es necesario que debas cronometrar el tiempo para poder comparar ambos códigos. Esto lo puedes ver en el editor de código del Apps Script, en el Panel de la Izquierda, en "Ejecuciones", donde se entrega una tabla con los datos de ejecución de cada función "lanzada", y específicamente en la 5ta columna se señala el tiempo exacto empleado en la ejecución de cada función 🙂. Un Abrazo, y nuevamente, Muchas Gracias Juan ... Desde Chile.... muy al Sur del Mundo, donde termina el mismo !. BYE. (Punta Arenas, Chile.).😉

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Gran aporte!
      Tienes toda la razón
      Mil gracias!

    • @lucnic2012
      @lucnic2012 Год назад

      @@JuanSGuzman estimado solo felicitarlo por sus videos, mil gracias... existe alguna forma de generar el número de fila manteniendo la letra de la celda por medio de un ciclo for?... lo e intentado y no se como concatenar la letra y el número que se genera en el ciclo for ... 'C' & i por ejemplo me da error

    • @JuanSGuzman
      @JuanSGuzman  Год назад +1

      @@lucnic2012 Estas muy cerca
      Es "C"+i
      Saludos!

    • @lucnic2012
      @lucnic2012 Год назад +1

      @@JuanSGuzman gracias Master

    • @lucnic2012
      @lucnic2012 Год назад

      @JuanSGuzman Estimado se puede ejecutar un código App Script en forma inmediata al abrir una Sheets? por ejemplo que limpie un bloque especifico de la hoja apenas se abra una sheets google.

  • @lucianopessanha7437
    @lucianopessanha7437 2 года назад +1

    Didático como sempre. Adoro seus vídeos Juan. Já conhecia os métodos mas ver nessa explica ao melhorou meu entendimento. Muito obrigado.

  • @jasonbrenes6613
    @jasonbrenes6613 2 года назад +1

    Excelente video Juan muchas gracias

  • @RiskBall
    @RiskBall 6 месяцев назад +2

    Hola Guzmán! Lo primero de todo felicidades por tu canal! Tus videos me han sido de gran ayuda a la hora de crear mi propio proyecto web mediante apps script. En concreto este video me ha ayudado mucho a disminuir el tiempo de ejecución de varias de mis funciones pero aún necesito más... y es por lo que te pido ayuda ya que tengo un mapa mundial creado a partir de google slides utilizando la base de datos de una hoja de google. La idea es cambiar de color a las formas y cambiar los textos según el idioma seleccionado en las hojas de google pero la función tarda como 30 segundos y se hace muy tedioso para el usuario. La llamada a los objetos la hago mediante el id de los mismos pero tengo que hacer esta llamada al slidesapp con cada objeto y son mas de 100... Si me pudieras facilitar un correo para mandarte el proyecto te lo agradecería o si prefieres te podría pasar el mío. Te estaría eternamente agradecido si me pudieras ayudar con esta cuestión.

    • @JuanSGuzman
      @JuanSGuzman  5 месяцев назад

      Hola!
      Interesante proyecto
      La verdad no domino mucho SlidesApp en este momento, este tema de arreglos funciona muy bien para tablas de Sheets pero en muchos otros casos no hay "atajos" y si te toca ir "uno por uno"
      Mi correo es sebastian@juansguzman.com para lo que necesites
      Saludos!

  • @distanciometros
    @distanciometros 10 месяцев назад +1

    Master genio. Gracias

  • @juanantonioduran3772
    @juanantonioduran3772 2 года назад +1

    Como siempre, soberbio. Un saludo.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @AlvaroMCZ
    @AlvaroMCZ Год назад +1

    Tus videos han captado toda mi atención muchísimas gracias, ¿Por lo que veo hace falta aprender javascript para tener mejores resultdos verdad?

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Pues la verdad es que los expertos de javascript que conozco que han empezado en Google Apps Script, la cogen rápidisimo y pueden hacer unas cosas impresionantes
      Pero, si lo único que quieres hacer es GAS y Sheets no es tan necesario profundizar en javascript
      Si quieres explorar programazión web y de apps y más, si te lo recomendaría
      Saludos!

  • @mariov.7817
    @mariov.7817 2 года назад

    Excelente! Gracias Juan, buen ejemplo!

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @cristianalexandertenjocort151
    @cristianalexandertenjocort151 Год назад +1

    Hola, Juan he aprendido un monton con tus videos, y aprovecho para pedirte un favor de casualidad tienes un video donde muestre como eliminar la información para así recalcular.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      No se si te refieres a algo como eto
      ruclips.net/video/TqgLVszdRPQ/видео.html
      Saludos!

  • @feliperoletto
    @feliperoletto 2 года назад +1

    Espectacular

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola!
      Mil gracias por las palabras!
      Saludos!

  • @AlfredoPerez-wo8ii
    @AlfredoPerez-wo8ii Год назад +1

    Una vez mas te agradezco todo el conocimiento que compartes, me has ayudado bastante a optimizar mi código.
    Me surgió una duda y no encuentro información al respecto.
    Tengo un ForEach que me trae varios datos, pero dos de ellos son colores. Mi duda es la siguiente: ¿Como puedo obtener el color de una celda en hexadecimal dentro de mi arreglo usando ForEach?

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Depende si es el color de fondo o del texto.
      Para el de la celda intenta con .getBackground()
      Saludos!

  • @alozano
    @alozano 2 года назад +2

    Muy bueno, muchas gracias.
    Se pueden usar "Formatos condicionales con arreglos" ???
    Tengo una hoja con varios formatos condicionales pero se demora mucho, se podrían ejecutar con arreglos ?

  • @anibalberrospichaca2264
    @anibalberrospichaca2264 6 месяцев назад +1

    Excelente, me sirvió de mucho. Tengo una consulta: ¿ qué código de apps script funciona de igual manera que el "ScreenUptading" de VBA?

    • @JuanSGuzman
      @JuanSGuzman  3 месяца назад

      Creo que no hay un equivalente hasta donde tengo entendido
      Saludos!

  • @musicfor1872
    @musicfor1872 2 года назад +1

    Impresionante

  • @jorgepelatos2696
    @jorgepelatos2696 2 года назад +1

    Hola Juan, los videos están excelentes. me puedes aclarar, como elevar un número a una potencia usando código en apps Script?

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Creo que hay una funcion en javascript que se llama pow
      Saludos!

  • @JairChaux
    @JairChaux 2 года назад

    Como es tu costumbre que gran vídeo, saludos . Cuando realizas un tutorial de App Sheets y ojala fuera de una lista de asistencia o control de entrada y salida empleados. Gracias de nuevo y ojala leas este comentario.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Colgado con AppSheet como con mil otros temas, jaja
      Saludos!

  • @lacs83
    @lacs83 2 года назад +2

    Todos aquellos que provengan de VBA/Excel deberían de saber que el manejo de arreglos es mas eficiente para procesar datos que acceder a celdas y lo mismo aplica para GAS/Sheets. En el manejo de arreglos es donde empieza a separarse un programador principiante de uno intermedio y eso sin mencionar que existen libros completos dedicados a estructuras de datos para optimizar la ejecución de aplicaciones. Otro observación por que seguir usando var desde el nuevo editor ya se puede utilizar let y const para tener mejores practicas con la declaración y uso de variables.

    • @JuanSGuzman
      @JuanSGuzman  Год назад +2

      Gracias Luis por tus aportes
      El tema con let y const es que para principiantes creo que es enredarlos un poco. Además que ni yo lo entiendo al 100% ;)
      Pero tu siendo un programador avanzado, tienes toda la razón, para proyectos profesionales, y dado que GAS ya lo acepta, ese el estándar que se debería usar.
      Gracias de nuevo!

    • @lacs83
      @lacs83 Год назад +2

      @@JuanSGuzman todo lo contrario. Con let y const se evitan problemas futuros en cuanto al alcance (scoope) de variables. Si tengo tiempo hago un vídeo de ese tema... Pero sino sería un excelente video para ti canal. Saludos.

    • @JuanSGuzman
      @JuanSGuzman  Год назад +2

      @@lacs83 Pues me encantaría si lo haces y me lo compartes. La verdad, no creo tener aun el conocimiento para hacerle justicia a esos conceptos, pero si lo hago te lo paso, para que me des tu feedback, ya que sabes mucho mas del tema. De nuevo mil gracias por el aporte. Estas conversaciones construyen conocimiento. Saludos!

  • @lucianopessanha7437
    @lucianopessanha7437 2 года назад +1

    Adorei o vídeo.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      Gracias a ti por tomarte el trabajo de comentar!
      Saludos!

  • @ainalluna
    @ainalluna 2 года назад +1

    ¡Muy bueno el video! He aprovechado para actualizar algún script. Tengo una duda, Si hago push a dos valores resultados.push([title],[h1]); como hago para escribir en la plantilla estos dos valores en columnas separadas. Solo he logrado que salga un bajo el otro en filas diferentes. No encuentro la respuesta o no sé buscar la pregunta correcta. ¿Me puedes orientar? ¡Gracias!

    • @ainalluna
      @ainalluna 2 года назад +1

      Hola, ya vi el problema, resultados.push([title],[h1]); resultados.push([title, h1]); bien

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Excelente que lo hayas solucionado!
      Saludos!

  • @yulianplanas1259
    @yulianplanas1259 10 месяцев назад +1

    Muchas gracias por el contenido, aprendí bastante de como mejorar mis scritps en gs. Tengo una duda, es posible hacer algo similar, si lo que intento es entrar a 10 url y necesito tomar 1 valor de al menos 10 paginas dentro de cada url, intente varias formas de optimizarlo, desde matrices bidimencionales y no logro bajar el tiempo de 4-5 minutos de ejecución

    • @JuanSGuzman
      @JuanSGuzman  10 месяцев назад +1

      Ahi creo que no te va a funcionar el metodo de arreglos, porque igual le va tocar ir a cada una de las urls, no hay forma de "agarrar" todas de un "sopetón"
      Saludos!

    • @yulianplanas1259
      @yulianplanas1259 10 месяцев назад +1

      @@JuanSGuzman Muchísimas gracias por responder

  • @enriquecastaneda4614
    @enriquecastaneda4614 2 года назад +1

    Tengo dos tablas una con columnas (numero de notas, venta, anticipo, saldo) que va de la nota 1 a la 1000 y en la otra tabla tengo las columnas (numero de notas, pago) esta ultima son los pagos de estas notas del dia. como puedo poner en la tabla 1 columna anticipo= la suma de esta columna, con la suma de la tabla 2 columna pago, tomando en cuenta que el codigo de la nota debe ser igual
    Gracias por los cursos, me ha ayudando a automatizar mi empresa,

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola Enrique
      Aquí te dejo un video donde lo hago
      ruclips.net/video/-XM7wQ1_Xh8/видео.html
      Un gran saludo!

  • @pedro-jesuspastormunoz9792
    @pedro-jesuspastormunoz9792 Год назад

    Me Dan muchos problemas el desarrollo en appscriot en rl navegador de una tablet Android. Hay slguna app para desarrollar en Google appscript? Con visual studio? Gracias.

  • @Leover378
    @Leover378 2 года назад +1

    El SetFormula estaría interesante verlo.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Ya lo vimos por encima en este video
      ruclips.net/video/TqgLVszdRPQ/видео.html
      Saludos!

    • @DsCanalS
      @DsCanalS Год назад +1

      @@JuanSGuzman me gustaría aprender arreglo que aplique formulas no arrastrar formula (aunque esta bueno es muy lento), saludos

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      @@DsCanalS Ya estoy haciendo un video, pero aquí te dejo otro que te puede servir
      ruclips.net/video/TqgLVszdRPQ/видео.html
      Saludos!

  • @fcojesusgutierrez
    @fcojesusgutierrez Год назад +1

    Como podría hacer esos arreglos, pero con una condición "if", es decir, que una vez que comienza a recorrer la tabla, realice la operación en función del valor de una casilla de verificación?. Si está marcada que haga la operación, y si no está marcada que no la haga. Gracias!!!

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Lo anoto para la segunda parte.
      Saludos!

  • @diegoforichi
    @diegoforichi 2 года назад +1

    Nos puedes dejar el Link para la Academia al vídeo avanzado de los arreglos? Gracias.

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Claro que si
      Aqui va
      juansguzman.teachable.com/p/arreglos-google-apps-script
      Saludos!

  • @juanjosecanorodriguez4518
    @juanjosecanorodriguez4518 2 года назад +1

    Dios Guzman, en un video vi un truco tuyo para cuando sucedia que el código va más rápido que la hoja. Hablaste del sleep, pero encontraste otro mejor que era algo de GETRANGE. Pero ahora no encuentro el video. ¿Me puedes recordar esto?
    Gracias!

    • @JuanSGuzman
      @JuanSGuzman  2 года назад +1

      Hola!
      Yo tampoco me acuerdo, jaja
      Revísate este, que creo que es
      ruclips.net/video/t64C5GfkA70/видео.html
      Saludos!

    • @juanjosecanorodriguez4518
      @juanjosecanorodriguez4518 2 года назад +1

      @@JuanSGuzman si ese es, gracias!+

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      @@juanjosecanorodriguez4518 Excelente!

  • @JotaXPeaR
    @JotaXPeaR Год назад

    Hola!
    Arreglo es más rápido que QUERY o es igual?
    Se me está poniendo muy lenta la hoja 😓

  • @ronaldgareck6703
    @ronaldgareck6703 7 месяцев назад +1

    Como puedo sumar totales de filas filtradas en apps script?, exitos!

    • @JuanSGuzman
      @JuanSGuzman  19 дней назад

      Algo asi como la función subtotal?
      Saludos!

  • @e3tdigital
    @e3tdigital 2 года назад +1

    En el video habló de un curso más avanzado de arreglos, pero no lo encuentro

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola!
      Ese curso lo encuentras en mi academia
      juansguzman.com/academia
      Un gran saludo!

  • @santimaspero6250
    @santimaspero6250 Год назад

    Hola Juan, tengo una pregunta, como puedo hacer si la multiplicación la tengo que hacer en filas específicas, porque si yo pego el arregloventas en una columna, los valores anteriores se van a ver sobreescritos. Como podría hacer en ese caso?

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Aquí te dejo un video que te puede dar luces
      ruclips.net/video/TqgLVszdRPQ/видео.html
      Saludos!

  • @carlosnarviz2464
    @carlosnarviz2464 2 года назад +1

    ¿como hago parar que no se duplique datos al agregar un dato en hoja de cálculo con google app script?

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola!
      Nos tocaria cambiar un poco el código
      Aquí te dejo un video similar pero con Forms
      ruclips.net/video/JSjEp75zaNA/видео.html
      Saludos!

  • @abdullahquhtani4247
    @abdullahquhtani4247 2 года назад +2

    We need this tutorial in ENGLISH 😤😡

  • @El_Flipy
    @El_Flipy 2 года назад

    Hola buenos días desde España.
    Tengo una hoja que bastantes datos y un script que envía correos si se cumplen varias condiciones. Al principio iba bien por que tenia pocas filas, pero ahora ya no le da tiempo a recorrer todas las filas y termina el tiempo de ejecución. ¿Con este tema de arreglos se pueden enviar también correos? ¿Cómo podría hacerse?
    Gracias.

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola!
      Si se puede
      En vez de usar un for, usas un forEach recorriendo el arreglo.
      Pensé que lo tenía en algún video.
      Lo anoto para uno próximo
      Saludos!

    • @El_Flipy
      @El_Flipy 2 года назад +1

      @@JuanSGuzman Gracias por tu respuesta, he conseguido enviar los correos peeeeeero.... ahora no consigo poner una casilla de verificación en la fila desde la que se envió el correo. Me lo pone en todas las filas. ¿Podrías ayudarme por favor?
      Gracias

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      @@El_Flipy Esa es más difícil, porque te toca crear un nuevo arreglo, o ahi si te tocaría ir linea por linea para chequear
      Saludos!

  • @kalolo22
    @kalolo22 6 дней назад +1

    tengo una tabla con mas de 500000 registros, cuando lo recorre explota el google apps scripts :(((

    • @JuanSGuzman
      @JuanSGuzman  5 дней назад

      jaja
      500.000 registros es muchísimo para Sheets. Se me hace raro que te este funcionando sin problema
      Que error te sale, el de que se pasó el tiempo?
      Saludos!

    • @kalolo22
      @kalolo22 5 дней назад

      @@JuanSGuzman no me lo corre, para ello tuve que hacerlo a través de un query, le pedi que lo incerte en una celda y que luego me capture el valor 🤓

  • @andresdaza1028
    @andresdaza1028 2 года назад +1

    Super la explicacion pero no he podido optimizar el siguiente codigo :( alguien que me ayude por favor:
    function carpetaCursos() {
    var libro = SpreadsheetApp.getActiveSpreadsheet()
    var hoja = libro.getSheetByName("Cursos")
    var filas = hoja.getLastRow();
    for (var i = 2; i < filas + 1; i++) {
    var grado = hoja.getRange(i, 1).getValue();
    var carpetaGrado = hoja.getRange(i, 2).getValue();
    var nombreCurso = hoja.getRange(i, 3).getValue();
    var carpetaCurso = DriveApp.createFolder(nombreCurso);
    var cursoId = carpetaCurso.getId();
    var carpetaGradoId = DriveApp.getFolderById(carpetaGrado);
    hoja.getRange(i, 4).setValue(cursoId);
    carpetaCurso.moveTo(carpetaGradoId);
    }
    }

    • @JuanSGuzman
      @JuanSGuzman  2 года назад +1

      Hola!
      Algo asi:
      function carpetaCursos() {
      var libro = SpreadsheetApp.getActiveSpreadsheet()
      var hoja = libro.getSheetByName("Cursos")
      var filas = hoja.getLastRow();
      var datos= hoja.getRange(2, 1,filas-1,3).getValues();
      var nuevaCol=[]
      datos.forEach(fila=>{
      var grado = fila[0]
      var carpetaGrado = fila[1]
      var nombreCurso = fila[2]
      var carpetaCurso = DriveApp.createFolder(nombreCurso);
      var cursoId = carpetaCurso.getId();
      var carpetaGradoId = DriveApp.getFolderById(carpetaGrado);
      nuevaCol.push([cursoId])
      carpetaCurso.moveTo(carpetaGradoId);
      })
      hoja.getRange(2,4,filas).setValues(nuevaCol)
      }
      Saludos!

    • @andresdaza1028
      @andresdaza1028 2 года назад +1

      @@JuanSGuzman Muchas gracias por su colaboración.

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      @@andresdaza1028 Gracias a ti!

  • @manuelfuentes7833
    @manuelfuentes7833 2 года назад +1

    Hola Juan, me encatna tus videos y me han servido mucho, te concí en tu página web
    tengo dos dudas, la primera es, tengo este codigo:
    function onEdit() {
    var archivo = SpreadsheetApp.getActiveSpreadsheet();
    var hojaDatos = archivo.getSheetByName(«Reembolsos 15/10/2021»);
    var filaActiva = hojaDatos.getActiveCell().getRow();
    var columnaActiva = hojaDatos.getActiveCell().getColumn();
    var hojaListas = archivo.getSheetByName(«Base de listas»);
    if(filaActiva>1 && columnaActiva ==1) {
    var detalles = hojaListas.getRange(2,8,hojaListas.getLastRow());
    var desplegable = SpreadsheetApp.newDataValidation().requireValueInRange(detalles).build();
    hojaDatos.getActiveCell().offset(0,29).setDataValidation(desplegable);
    }
    Pero necesito que en el if también tome en cuenta que sea solo fecha, eso es posible?
    Por otro lado, se puede resaltar toda la fila de la celda seleccionada? Como en excel.
    Gracias de antemano
    Saludos.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      Hola!
      En cuanto a la primera pregunta, si se puede
      Se podría hacer con algo asi
      if(typeOf hojaDatos.getActiveCell().getValue()=='object')
      Saludos!

  • @arnifuentes7055
    @arnifuentes7055 2 года назад

    gracias por este aporte Juan!!!

    • @JuanSGuzman
      @JuanSGuzman  2 года назад

      Hola!
      Gracias a ti por tomarte el trabajo de comentar!
      Saludos!

    • @arnifuentes7055
      @arnifuentes7055 Год назад

      @@JuanSGuzman una duda crack, ¿por qué puede ocurrir que se ejecute un código en un libro y demore, por ejemplo, 1 minuto, y usando el MISMO código en un libro DISTINTO se demore 4 minutos?

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      @@arnifuentes7055 Hmmm
      Habría que mirar que hace el código.
      Lo estas ejecutando en dos archivos de tu propiedad?
      En el mismo computador?
      Saludos!

    • @arnifuentes7055
      @arnifuentes7055 Год назад

      @@JuanSGuzmanmuchas gracias. Estoy ejecutando el script en un archivo con mi cuenta personal de gmail, y por otro lado estoy ejecutando este mismo script en otro archivo con el correo que me proporcionó la empresa, todo esto en el mismo computador.

    • @JuanSGuzman
      @JuanSGuzman  Год назад

      @@arnifuentes7055 Hmmm, no sabría decirte. Dependería si es el mismo usuario, si la base es mas pesada. Interesante! Saludos!