Listas desplegables condicionales en varias filas con Google Sheets y Google Apps Script

Поделиться
HTML-код
  • Опубликовано: 12 дек 2024

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

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

    Excelente video, muchas gracias por la explicación, me ayudó mucho en mi trabajo.
    Sin embargo, en la aplicación de este código me di cuenta que si tienes otras hojas, se desplegaba una lista (vacía) en la columa B de TODAS LAS HOJAS del archivo (y no solamente en la hoja de Datos ), cada vez que se modifica la columna A de otra hoja.
    Por lo tanto, es necesario limitar la función onEdit para la hoja que estás interesado. Eso lo pude solucionar creando una nueva variable que toma el nombre de la hoja activa var nombreHoja = archivo.getActiveSheet().getSheetName(); y en condicional if, evaluando que el nombre de la hoja activa coincida con el nombre donde quieres que se aplique el código, para el caso del video "Datos", if ( nombreHoja =="Datos" && filaActiva>1 && columnaActiva ==1){
    Espero que esto sea de ayuda para alguien.
    Saludos!

  • @gomezjuanefe
    @gomezjuanefe 4 года назад +6

    Conciso, muy bien explicado y sin musiquitas ni ediciones que no van al caso.

  • @MynorRodrigo
    @MynorRodrigo 3 года назад +2

    Comencé con un simple buscarV hace años, me emociona que gracias a tus videos, hoy esté haciendo macros sin tanto problema, muchas gracias!

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

      Hola
      Excelente! Me alegra ser de utilidad.
      Un gran saludo!

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

    Que felicidad, esto es lo que necesitaba, le escribí por otro vídeo pero no necesito ya el otro código, este quedo perfecto

  • @dragonian1972
    @dragonian1972 2 года назад +6

    Maravilloso (otra vez). Te puse seguir perfectamente todo el razonamiento que fuiste haciendo en la programación del código. Me sirvió un montón que no hayas sacado del video los errores que fuiste cometiendo. Muchas Gracias

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

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

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

    Justo el vídeo que necesitaba! Costó pero al final quedó!
    Gracias genio!!

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

    Muy bueno su video, me sirvio para comprender como funciona eso. Gracias

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

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

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

    Increíble! Contenido de altísimo valor. Muy recomendado.

  • @yonathancorona8350
    @yonathancorona8350 3 года назад +1

    De verdad estoy muy agradecido con estos videos, excelente explicacion.

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

      Mil gracias por el comentario!

  • @juliocesbarrios
    @juliocesbarrios 4 года назад +2

    Hola amigo, quiero felicitarte por el video, me sirvió de forma espectacular. Estoy muy agradecido. Saludos

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

      Mil gracias Julio Cesar
      Un gran saludo!

  • @juangabrielballenamaya5770
    @juangabrielballenamaya5770 3 года назад +1

    muy buena la explicación!!! justo lo que estaba buscando, lo felicito por su conocimiento.

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

      Hola
      Excelente! Me alegra ser de utilidad.
      Un gran saludo!

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

    excelente!! el único que lo explica por dios!!

  • @dearkost
    @dearkost 3 года назад +1

    Muy buen video, la verdad que utilizo mucho a diario Google drive y Google sheets , y desde hace bastante tiempo había querido aprender a utilizar el editor de secuencias y este video está muy bien explicado y funcionó perfecto gracias

  • @luisalbertovelandia5117
    @luisalbertovelandia5117 3 года назад +1

    Juan... Mil y mil gracias por este video, muy bien explicado.

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

      Mil gracias por tus palabras!

  • @betocamacho8356
    @betocamacho8356 4 года назад +1

    Tome su buen LIKE buen HOMBRE me has solucionado la vida!!! buenisimo tutorial saludos desde BOLIVIA!!!

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

    Gracias parce, estuvo un poquito largo el video pero gracias!. saludos desde Argentina, un peruano en Cordoba.

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

      JAja
      Con tal de que sea util!
      Yo veo los videos de youtube a 2x, por si pasa eso
      Saludos!

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

    Justo lo que buscaba! Gracias!

  • @OmarSanchez-zt4qt
    @OmarSanchez-zt4qt 2 года назад +1

    Excelente video 😃✨ y gran instructor👍🏽

  • @ale.caceres6929
    @ale.caceres6929 2 года назад

    Gracias por la ayuda Juan, mucho éxito en todo tus proyectos.

  • @lauracadavid7068
    @lauracadavid7068 4 года назад +1

    Hola muhcas gracias por el video, muy útil. (35:40, creo que funcionó porque ya estaba chile dentro de la lista de paises)

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

      Hola!
      Tienes toda la razón!!!
      Despues de 5 meses hasta ahora me doy cuenta de ese error 🤦
      En teoría con lo que hago después funcionaria agregando cualquier otro país, pero mil gracias por darte cuenta y por escribirlo
      Un gran saludo!

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

    gracias, es justo lo que buscaba!

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

      Hola
      Excelente! Me alegra ser de utilidad.
      Un gran saludo!

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

      @@JuanSGuzman Hola! Me iba todo genial, hasta que quise hacer otro script igual en otra hoja y llamando a otra hoja auxiliar. En las 2 hojas me llama a la misma lista desplegable, será porque la variable es igual? Te dejo los 2 códigos. A ver si me puedes decir donde estoy errando. Gracias!
      EL PRIMER ARCHIVO ES DESPLEGABLEUF.GS
      function onEdit() {
      var archivo = SpreadsheetApp.getActiveSpreadsheet();
      var hojaIngresos = archivo.getSheetByName("INGRESOS");
      var idcons = hojaIngresos.getActiveCell().getValue();
      var filaActiva = hojaIngresos.getActiveCell().getRow();
      var columnaActiva = hojaIngresos.getActiveCell().getColumn();
      var hojaLista = archivo.getSheetByName("Auxiliar2");
      var consorcios = hojaLista.getRange(2,1,1,hojaLista.getLastColumn()).getValues();
      if (filaActiva>4 && columnaActiva ==3 && hojaIngresos.getName()=="INGRESOS"){
      var indice = consorcios[0].indexOf(idcons)+1;
      var rangoValidacion = hojaLista.getRange(3,indice,hojaLista.getLastRow());
      var reglaValidacion = SpreadsheetApp.newDataValidation().requireValueInRange(rangoValidacion).build();
      hojaIngresos.getActiveCell().offset(0,2).setDataValidation(reglaValidacion );
      }
      }
      EL SEGUNDO ARCHIVO ES DESPLEGABLEPROVEED.GS
      function onEdit() {
      var archivo = SpreadsheetApp.getActiveSpreadsheet();
      var hojaGastos = archivo.getSheetByName("GASTOS");
      var idcons = hojaGastos.getActiveCell().getValue();
      var filaActiva = hojaGastos.getActiveCell().getRow();
      var columnaActiva = hojaGastos.getActiveCell().getColumn();
      var hojaLista = archivo.getSheetByName("Auxiliar3");
      var consorcios = hojaLista.getRange(2,1,1,hojaLista.getLastColumn()).getValues();
      if (filaActiva>4 && columnaActiva ==3 && hojaGastos.getName()=="GASTOS"){
      var indice = consorcios[0].indexOf(idcons)+1;
      var rangoValidacion = hojaLista.getRange(3,indice,hojaLista.getLastRow());
      var reglaValidacion = SpreadsheetApp.newDataValidation().requireValueInRange(rangoValidacion).build();
      hojaGastos.getActiveCell().offset(0,2).setDataValidation(reglaValidacion );
      }
      }

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

      @@charlywar1979 Hola!
      Es otro archivo de GS para el mismo sheets? O son 2 sheets diferentes?
      Saludos!

  • @franciscosb4588
    @franciscosb4588 4 года назад +1

    Buena explicaciónm y funciona.

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

      Excelente!
      Mil gracias Francisco!

  • @luisandreyacunagonzalez3678
    @luisandreyacunagonzalez3678 3 года назад

    demasiado buenos videos mi hermano

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

    Hola Juan, qué tal? En primer lugar darte las gracias por el tutorial. Es una auténtica pasada. Te comento mi caso. Estoy usando este tutorial para crear una hoja de presupuesto con una primera columna con los servicios disponibles, una segunda con los niveles y una tercera con los precios. Pero yo al crear la validación de datos solo dejo que se muestre en el desplegable los datos correspondientes a su condicional concreta. Por ejemplo en la primera fila de la columna Servicios solo aparece el servicio 1, de tal forma que en la columna de Niveles solo cargan los niveles correspondientes al servicio 1 y en la columna precio solo aparece el precio del nivel escogido. Hasta aquí bien. El problema me viene cuando quiero duplicar el código para hacer que en la fila de abajo haga lo mismo con otro servicio distinto. Cuando lo hago y selecciono el Servicio 2 en la primera columna, en la segunda veo efectivamente los niveles correspondientes al servicio 2, pero no me aparece el desplegable en la columna 3 y deja de funcionar la primera. Espero haberme explicado. Te agradecería la ayuda. Un gran abrazo Y enhorabuena por este trabajo

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

      Hola!
      Pronto traeré un video para multiples condicionales
      Saludos!

  • @andresricardoballenrojas9733
    @andresricardoballenrojas9733 3 года назад +1

    suscrito!!! Que buen trabajo, funciona excelente, podrías meterle mente a uno de conversión de números a letras para el caso del dinero, igual que este para varias filas.

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

      Mil gracias
      Ya lo anoto.
      Saludos!

  • @felipeaguila1760
    @felipeaguila1760 3 года назад +1

    03:11 Validación Datos- En hoja, Seleccionar encabezados

  • @alisse_sg
    @alisse_sg 4 года назад +2

    Gracias por tu video!!!

  • @ernestosolis2449
    @ernestosolis2449 4 года назад +1

    Muchas Gracias Crack! Explicando el mejor top!

    • @kingstonjensen5589
      @kingstonjensen5589 3 года назад

      Sorry to be off topic but does anyone know of a way to log back into an instagram account??
      I stupidly lost the account password. I appreciate any assistance you can offer me!

    • @landonmisael9416
      @landonmisael9416 3 года назад

      @Kingston Jensen Instablaster :)

    • @kingstonjensen5589
      @kingstonjensen5589 3 года назад

      @Landon Misael i really appreciate your reply. I found the site through google and im in the hacking process now.
      Looks like it's gonna take a while so I will get back to you later with my results.

    • @kingstonjensen5589
      @kingstonjensen5589 3 года назад

      @Landon Misael it worked and I now got access to my account again. I'm so happy:D
      Thanks so much you saved my account!

    • @landonmisael9416
      @landonmisael9416 3 года назад

      @Kingston Jensen glad I could help :D

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

    Excelente video, gracias.
    Quisiera hacerte una consulta, como hago para poner otro desplegable condicional (otros datos) en la misma hoja, pero en distintas columnas.

  • @marianodellaporta
    @marianodellaporta 3 года назад

    Gracia fenomeno! Tuve inconvenientes para aplicar el codigo porque mis categorias estaban en filas y no columnas. Entonces se me hacia una matriz en lugar de un array.

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

      Hola!
      En ese caso es más fácil, porque no tienes que hacer mapeo ni nada
      Un gran saludo!

  • @yoselinetovarr6265
    @yoselinetovarr6265 3 года назад +2

    Muchas gracias por la explicación. He realizado el ejemplo y ha funcionado muy bien. Una consulta por favor, si tengo varias pestañas (desde enero a diciembre) en las que deseo aplicar las listas desplegables, aparte tengo mi pestaña de "Listas" (en el mismo documento) ¿Cómo podría hacer para que el código afecte a las pestañas de enero a diciembre, pero no a la de "Listas"?
    Le agradezco de antemano 🙌

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

      Hola yoselin, pudiste solucionar este tema?

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

    Me encantan las listas desplegables dependientes . Es mucho más fácil el Excel . Qué lástima que no se igual en Drive

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

      Tienes razón. Ahi hay mucho donde mejorar para Sheets
      Saludos!

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

    danke, sie haben mir dieses video im unterricht gezeigt und jetzt weiß ich mehr über das programmieren für dich, ich möchte in polen helfen

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

    Gracias!!!!

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

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

  • @garantiasintex49
    @garantiasintex49 4 года назад +1

    Hola hola Juan, tus videos son excelentes y me he apoyado mucho de ellos.
    En esta ocasión no encuentro el error, al parecer tengo el código bien, ya lo revise muchísimas veces comparadolo con el tuyo, todo funciona bien excepto al final. cuando ya se elige la lista desplegable resultante de la primera, esta segunda no carga información, solo me dice "cargando..." y allí se queda, pensé que talvez tardaría en cargar información, asi que la deje mucho tiempo y no.

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

      Hola!
      Me dejas ver tu archivo por favor para revisarlo?
      enviámelo a guzman.sheets@gmail.com
      Saludos!

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

      Hola!
      Ya encontré el error
      Este error pasa cuando la longitud de cada una de las listas es diferente, entonces esta trayendo muchos vaicos y por eso causa el error
      Reemplaza por favor la linea 18 del video, o sea esta:
      var rangoValidacion = hojaLista.getRange(2,indice,hojaLista.getLastRow());
      Por lo siguiente
      var filas = 0
      for(i=hojaLista.getMaxRows();i>0;i--){
      if(hojaLista.getRange(i,indice).getValue()!=''){
      filas=i;
      break;
      }
      }
      var rangoValidacion = hojaLista.getRange(2,indice,filas-1);
      Lo que hace esto es buscar el número real de filas que tiene esa lista
      Espero te funcione

  • @florian.nguyen
    @florian.nguyen 3 месяца назад +1

    Hola @JuanSGuzman podemos poner formatos con script a las listas desplegables? tipo CHIP.... como lo haría de forma dinámica...o con el formato de la lista

    • @JuanSGuzman
      @JuanSGuzman  Месяц назад

      Desafortunadamente, a hoy, no hay forma de activar o desactivar el chip desde código (que yo conozca)
      Saludos!

  • @lgpedroza
    @lgpedroza 3 года назад +1

    Hola Juan! Muchísimas gracias por el código, soy una completa neófita en estos temas y gracias a tu excelentes explicaciones decidí animarme a intentarlo por mi cuenta. Lamentablemente fracasé, ya que al final me ocurre el mismo error de otras personas (no me despliega el menú en la segunda columna). Ya estuve revisando todos los comentarios y tus respuestas para ver si con eso lograba corregirlo pero nada. ¿Qué puede estar sucediendo? Cabe señalar que al darle ejecutar no me reporta ningún error.

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

      Hola Liliana
      Me dejas ver tu código por favor?
      Saludos!

  • @staciotec-cholula
    @staciotec-cholula 2 года назад +1

    wao!! lo copie tal cual para ver si es cierto que funcionaba y siiii !! excelente ejercicio ... de programación.
    function onEdit() {
    var archivo = SpreadsheetApp.getActiveSpreadsheet();
    var hojaArticulos = archivo.getSheetByName("Articulos");
    var departa = hojaArticulos.getActiveCell().getValue();
    var filaActiva = hojaArticulos.getActiveCell().getRow();
    var columaActiva = hojaArticulos.getActiveCell().getColumn();
    var hojaCata = archivo.getSheetByName("Catalogo");
    var categos = hojaCata.getRange(1,1,1,hojaCata.getLastColumn()).getValues();
    if(filaActiva>1 && columaActiva==2){
    var indice = categos[0].indexOf(departa);
    var rangoValidacion = hojaCata.getRange(3,indice+1,hojaCata.getLastRow());
    var reglaValidacion = SpreadsheetApp.newDataValidation().requireValueInRange(rangoValidacion).build();
    hojaArticulos.getActiveCell().offset(0,1).setDataValidation(reglaValidacion);
    }
    }

  • @ginorel
    @ginorel 4 года назад

    Excelente explicación funciona a la perfección, pero me falta conocimiento. Hay forma de ponerse en contacto para crear
    un reporte?

  • @brayanmacheroortiz8223
    @brayanmacheroortiz8223 4 года назад +1

    Hola Juan S Guzman;
    Primero que todo quiero agradecerte por el vídeo el cual esta muy bien detallado, pero quisiera saber como puedo hacer lo mismo para otras columnas, por ejemplo escoger el país en la columna P y me salga la lista desplegable de ciudades en la columna Q.
    Gracias de Antemano.

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

      Hola!
      Te refieres a solo cambiar la posición de la columna? o repetir el mismo desplegable condicional varias veces en la misma hoja, pero en distintas columnas?
      Saludos!

  • @sanatrodriguezrodriguez3977
    @sanatrodriguezrodriguez3977 3 года назад

    Gracias, me sirvió muchísmo!

  • @alexanderguzman8241
    @alexanderguzman8241 3 года назад +1

    Muchas Gracias Juan Guzmán por el video, muy útil, Excelente aporte,
    Tengo una consulta, se podría utilizar en OnEdit dos veces en una sola función.
    Me explico un poco, la funcionalidad de la lista desplegable en la columna uno funciona y muestra en la columna 2 el respectivo filtro, pero en esa misma hoja de cálculo unas columnas más adelante, por ejemplo en la columna H se quiere hacer los mismo.
    Le cambio el var listaActivos = hojaLista.getRange(1,8,1,11).getValues(); y en if(filaActiva>1 && columnaActiva ==8) para inicie el rango más adelante, pero deja de funcionar.

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

      Hola!
      Puedes hacer dos funciones diferentes. Llama la primera desplegable1() y la segunda dseplegable2()
      Luego pones las dos en un onEdit
      function onEdit(){
      desplegable1()
      desplegable2()
      }
      Saludos!

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

      @@JuanSGuzman Holaaa intenté hacer esto pero no funciona :(

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

      @@paulaandreapayares6428 Me alegra que al fin hayas podido Paula!

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

    TE QUIERO

  • @christianPretell
    @christianPretell 3 года назад +1

    Genial!!! Juan. Consulta, se puede hacer esto pero en Forms? es decir hay alguna forma de vincular esto con un forms o hacerlo de frente en código en el forms o algo asi?, quiero crear un forms que me selecciones según respuesta opciones distintas pero no quiero que sean secciones del forms si no dentro de las mismas preguntas.

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

      Hola Christian
      Hasta donde se, no se puede en Forms, te tocaría en un formulario Html
      Saludos!

  • @AugustoLeon1
    @AugustoLeon1 3 года назад +1

    Excelente tutorial Juan, saludos desde Brasil, por favor.... tengo un problema para desarrollar un codigo Script en que me muestre el primer elemento de la lista desplegable en lugar de en blanco? dos semana y aun nada....

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

      Hola Augusto
      Mil gracias por tus palabras!
      Te refieres como a un predeterminado?
      O sea crear desplegables que tengan como predeterminado el primer elemento?
      Un gran saludo!

  • @juniorbarrantes3097
    @juniorbarrantes3097 3 года назад

    hola, está súper clara la explicación, una consulta adicional...si quiero que las dependencias se repitan también en otras columnas, qué tendría que hacer? replicar todo el código tantas veces como columnas es en las que quiero que se replique?

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

      Hola!
      Si es el mismo desplegables, solo tienes que agregar mas condiciones para que no repitas tanto tu codigo
      Seria algo asi
      if(filaActiva>1 && (colActiva==1 || colActiva==4)
      Me cuentas como te va
      Saludos!

    • @juniorbarrantes3097
      @juniorbarrantes3097 3 года назад +1

      @@JuanSGuzman consulta, cuando es con código solo puede haber para una lista desplegable? estoy tratando de hacer más de dos listas desplegables dependientes, pero uno de los códigos invalida el otro

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

      Hola!
      Lo más fácil es hacer dos funciones
      function funcion1(){}
      function funcion2(){}
      Y despues las metes dentro del onEdit maestro
      function onEdit(){
      funcion1()
      funcion2()
      }
      Saludos!

    • @juniorbarrantes3097
      @juniorbarrantes3097 3 года назад +2

      @@JuanSGuzman muchas gracias, lo revisaré

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

      @@juniorbarrantes3097 Me cuentas

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

    Hola 😱 muy interesante, no conozco nada de esto pero siguiendo los pasos logré hacerlo. Estoy elaborando un reporte para mi trabajo y necesito llenar la tabla todos los meses ¿Como hago para tener la misma validacion en distintas hojas del libro?

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

      Hola Ceci
      En el condicional en vez de poner nombreHoja=="Hoja 1" puedes poner varias hojas con el operador ||
      seria algo asi
      if(nombreHoja=="Hoja 1" || nombreHoja=="Hoja 2")
      Estoy haciendo una serie de videos nuevos donde lo explico un poco más en detalle
      Saludos!

  • @agustoleon5593
    @agustoleon5593 4 года назад +1

    BUEN VIDEO, NO ENTENDI NADA IGUAL

  • @pamelamafara6264
    @pamelamafara6264 4 года назад +1

    Tengo un archivo que me corrió y me funcionó perfecto la primera vez, tengo que funcionar varias listas condicionales a lo largo de mi archivo. No se si puedas apoyarme revisando mi archivo o con una asesoría personalizada

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

      Hola Pamela
      Escribeme a sebastian@juansguzman.com
      Saludos!

  • @cristinabriceno1961
    @cristinabriceno1961 3 года назад

    Hola Juan!, muchas felicidades para ti, gracias por tu real interés en ayudar.
    me gustaría saber como puedo hacer esto en google forms, quisiera pedir desde forms tres destinos donde quisieras viajar, por lo tanto, debo mostrar tres veces estos filtros condicionados pero no se como hacerlo o si es que se puede hacer.
    Te agradecería mucho me pudieras orientar.

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

      Hola Cristina
      Espero estés bien
      Desafortunadamente no se puede hacer exactamente lo mismo en Forms
      Una opción es usar las Secciones. Aquí te dejo un video. No es lo más dinámico pero para pocas opciones como en tu caso, puede servir muy bien
      Aquí te dejo un video
      ruclips.net/video/ixIFMgynny0/видео.html
      Saludos!

  • @Felipe87eing
    @Felipe87eing 4 года назад +1

    Hola Juan. Muchas gracias por el video! Tengo una consulta eso sí... pretendo usar esta funcionalidad en un archivo plantilla para presupuestos, el asunto es que cuando lo duplico y le cambio el nombre al archivo, el app script ya no funciona; en cambio si se duplica y mantiene el nombre si funciona. ¿Sabes si se puede hacer algo para que el script siga funcionando en copias del archivo con un nombre distinto? Te agredecería mucho la respuesta!

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

      Hola Felipe
      Prueba entrando la primera vez y dándole play desde el editor de secuencia solo para darle la autorización a ver si eso te lo soluciona
      Me cuentas!

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

    Hola Juan! Antes que nada muchas gracias por el apoyo, y validando en la opción herramientas de mi drive, no me aparece la opción para meterme en ingresar el código, justo antes del minuto 5

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

      Hola MArgot
      Estas en un archivo de Sheets? o es un XLS?
      Saludos!

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

    Excelente contenido, tienes el dato de algún curso online donde se puede aprender GAS?

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

      Hola.
      Hay uno bueno pero en ingles
      courses.benlcollins.com/p/apps-script-blastoff
      Espero pronto sacar un curso completo introductorio.
      Saludos!

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

      @@JuanSGuzman Apoyo la idea de tu curso! si es pago, si no lo es, se ve que tus conocimientos son sólidos y no tendría inconvenientes en seguirte! Gracias!

  • @departamentotecnico1744
    @departamentotecnico1744 3 года назад

    Hola juan muchas gracias, por el vdeo, mi consulta es como activo el editor de secuencias, ya que no me aparece

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

      Hola!
      Una opción es que estés trabajando.sobre un excel
      Saludos!

  • @JuanSGuzman
    @JuanSGuzman  4 года назад +5

    Dos correcciones o adiciones
    1. Para que no les ocurra el error de que aparezca desplegable en otras hojas, por favor reemplazar la línea 16 por:
    if(filaActiva>1 && columnaActiva ==1 && archivo.getActiveSheet.getName()=="Datos"){
    2. Cuando las listas de las subcategorías son de distintas longitudes les puede causar un error y quedarse "Cargando...". Para solucionar esto:
    Reemplaza por favor la linea 18 del video, o sea esta:
    var rangoValidacion = hojaLista.getRange(2,indice,hojaLista.getLastRow());
    Por lo siguiente
    var filas = 0
    for(i=hojaLista.getMaxRows();i>0;i--){
    if(hojaLista.getRange(i,indice).getValue()!=''){
    filas=i;
    break;
    }
    }
    var rangoValidacion = hojaLista.getRange(2,indice,filas-1);
    Lo que hace esto es buscar el número real de filas que tiene esa lista
    Espero les solucione si se enfrentan a esta situación
    Saludos!

    • @alexander19187
      @alexander19187 4 года назад

      No me funciona y deja de funcionar el script que se habia trabajado sabes por que ocurre?

    • @JuanSGuzman
      @JuanSGuzman  4 года назад +3

      @@alexander19187 Siii
      Culpa mia
      Siempre me pasa lo mismo! Me faltan los parentesis...por no probar antes de contestar 🤦
      Cambiala por esta
      if(filaActiva>1 && columnaActiva ==1 && archivo.getActiveSheet().getName()=="Datos"){
      Saludos!

    • @alexander19187
      @alexander19187 4 года назад +1

      Mil gracias Juan!

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

      Buen día Juan, intenté realizar la corrección 2 ya que me aparece en mi lista "loading...", sin embargo no me funciona y deja de trabajar el script, ya no aparece siquiera la opción de la lista. Ojalá me puedas ayudar!

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

      Buenas, muchas gracias por los videos. Los estoy viendo a todos para poder aprender todo lo posible.
      Me pasaba el mismo problema con la columna de la lista dependiente, quedaba CARGANDO sin poder seguir avanzando; intente corregir con la linea de código, sin embargo ahora no me funciona el scrip.
      pego el código.
      function onEdit() {
      var archivo = SpreadsheetApp.getActiveSpreadsheet();
      var hojaDatos = archivo.getSheetByName("Datos");
      var pais = hojaDatos.getActiveCell().getValue();
      var filaActiva = hojaDatos.getActiveCell().getRow();
      var columnaActiva = hojaDatos.getActiveCell().getColumn();
      var hojaLista = archivo.getSheetByName("lista");
      var paises = hojaLista.getRange(1, 1, 1, 8).getValues();
      if (filaActiva > 1 && columnaActiva == 1 && archivo.getActiveSheet().getName() == "Datos") {
      var indice = paises[0].indexOf(pais) + 1;
      var filas = 0
      for (i = hojaLista.getMaxRows(); i > 0; i--) {
      if (hojaLista.getRange(i, indice).getValues() != "") {
      filas = i;
      break;
      }
      }
      var reglaValidacion = SpreadsheetApp.newDataValidation().requireValueInRange(rangoValidacion).build();
      hojaDatos.getActiveCell().offset(0, 1).setDataValidation(reglaValidacion);
      }
      }
      gracias por todos, saludos

  • @pablo220492
    @pablo220492 4 года назад +1

    Buenas, tengo que hacer si o si todo el proceso o puedo solo copiar el código final y editar las celdas y hojas de referencia? Si se puede así por favor podes compartir el código? Desde ya muchas gracias por compartir tu conocimiento! Saludos desde Argentina

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

      Hola Pablo.
      Gracias por el comentario.
      En el blog encuentras el código completo.
      juansguzman.com/lista-desplegable-condicional-en-varias-filas-google-sheets-apps-script/
      Saludos!

    • @pablo220492
      @pablo220492 4 года назад

      @@JuanSGuzman necesito hacer lo del video, luego en esa hoja podria aplicar formulas tipo buscarv o ya no me dejaría? y otra consulta, cobras por hacer esta configuración, la verdad que vi el video 2 veces y leí lo del blog pero estoy trabadisimo. Es para un colegio necesito que cuando alguien elija PRIMERO_A (x ej) la segunda lista dependiente me pueda arrojar datos de los alumnos que pertenecen a ese curso

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

      Hola Pablo. Hasta ahora vi tu comentario. En teoria puedes despues usar buscarv o cualquier otra formula. Si tienes un problema en particular cuentame y lo trabajamos en un video. Si prefieres, me contactas al correo guzman.sheets@gmail.com

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

    Hola Juan, muy buen vídeo, tengo una duda, no me aparece en mi hoja de sheets la opción de editor de secuencia de comandos, cómo se habilita? gracias quedo atento

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

      HOla Harold
      A partir del año pasado el menú cambió
      Busca en Extensiones > Apps Script
      Saludos!

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

    Otra cosa buena sería que si una opción de la lista deplegable solo tiene una opción elegible, entonces la muestre directo sin tener que elegirla. Supongamos que en la lista países tenemos el Vaticano y su única ciudad es la propia ciudad del Vaticano se ahorraría tiempo si al elegir el estado del vaticano solo apareciera la ciudad a su derecha.- En otros tipos de ejemplos pueden darse mas opciones con una única opción.

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

    Un gran aporte a la confusion general. Podrias ensayar un poco o al menos hacerte un ayuda memoria. Asi es imposile seguirte y dificil aprender algo, de mi parte despues de la mitad del video ya me olvide a que venia el tema😔😔...

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

      Gracias por las recomendaciones!
      Quiero pensar que he mejorado en 2 años
      Saludos!

  • @mosdotOrBarak
    @mosdotOrBarak 3 года назад

    Excellent
    Gracias

  • @elnickus
    @elnickus 3 года назад +1

    Buen video, una consulta. Hay alguna forma de que para los que ya tienen valor en la primera columna, le apliquen una validación automática sin necesidad de cambiar de valor?

    • @racsomtz9546
      @racsomtz9546 3 года назад

      Si se puede pero si ya tienes varios datos con el valor puesto creo que sería mas fácil validarlo con una formula normal en la hoja de cálculo.

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

    Hola Juan, Me hace la función de despegar una lista desplegable en TODAS las hojas, no solamente en la que determine como get sheetbyname

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

      Hola!
      Te dejo este video donde aclaro ese tema
      ruclips.net/video/kg6TVFrDpqY/видео.html
      Saludos!

  • @lauravivianacastanedaavila3847
    @lauravivianacastanedaavila3847 4 года назад +1

    Hola Juan gracias por el video como puedo replicar el código para varias hojas ? en el mismo documento

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

      Hola Laura
      Si en todas las pestañas el listado condicional y el dependiente están en las mismas columnas (A y B en mi ejemplo), simplemente cambia esta línea
      var hojaDatos = archivo.getSheetByName("Datos");
      por
      var hojaDatos = archivo.getActiveSheet();
      Me cuentas si te sirve.
      Saludos!

  • @FerMorausky
    @FerMorausky 3 года назад

    Buenazo, gracias

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

      Mil gracias por tus palabras Fernando!

  • @Andres.Macuada
    @Andres.Macuada 4 года назад +1

    En validación de datos insertar lista desplegable solo se separan por comas los textos, como se pueden separar textos que son largos y que contienen comas dentro de ellos? Gracias

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

      Hola Andres.
      Gracias por escribir!
      Desafortunadamente no se puede hacer ni encerrandolo en comillas.
      La solucion en este caso es poner la lista en un rango, puede ser en otra pestaña u otra columna, y ahi si puedes incluir el símbolo que quieras, y la validacion es de "lista a partir de un intervalo".
      Este metodo me gusta mas porque ademas es mas facil despues cambiar los elementos, agregar o eliminar.
      Ojala te te sirva.
      Saludos!

  • @alozano
    @alozano 4 года назад +1

    Gracias por el material expuesto, disculpe la pregunta pero como ubico los eventos así como en VBA aparecen de acuerdo al elemento que estamos manipulando, acá como los encuentro? o como me entero que existe un evento que se llama onEdit, por ejemplo ?

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

      Hola Alexis.
      Uno puede referirse a la documentación de referencia que desafortunadamente está en ingles.
      Aquí te la dejo.
      En cuanto a los eventos o triggers, estan los siguientes
      onEdit(e)
      onOpen(e)
      onInstall(e)
      onSelectionChange(e)
      doGet(e)
      dePost(e)
      Estos dos ultimos son para webapps

  • @azaeldgntb
    @azaeldgntb 4 года назад +1

    Hola Juan, excelente video y es justo lo que necesito realizar, pero justo al final, cuando ya elijes el país, si crea la lista de ciudades, el problema que tengo es que esta ultima al querer elegir una ciudad, unicamente me dice "cargando", pero no pasa de alli.
    Ojala me puedas orientar el porque me pasa eso

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

      Hola!
      Me dejas ver tu archivo por favor para revisarlo?
      enviámelo a guzman.sheets@gmail.com
      Saludos!

    • @azaeldgntb
      @azaeldgntb 4 года назад +1

      @@JuanSGuzman muchísimas gracias por tu pronta respuesta, ya te lo he compartido, estoy pendiente, SALUDOS.

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

      ​@@azaeldgntb
      Hola!
      Ya encontré el error
      Este error pasa cuando la longitud de cada una de las listas es diferente, entonces esta trayendo muchos vaicos y por eso causa el error
      Reemplaza por favor la linea 18 del video, o sea esta:
      var rangoValidacion = hojaLista.getRange(2,indice,hojaLista.getLastRow());
      Por lo siguiente
      var filas = 0
      for(i=hojaLista.getMaxRows();i>0;i--){
      if(hojaLista.getRange(i,indice).getValue()!=''){
      filas=i;
      break;
      }
      }
      var rangoValidacion = hojaLista.getRange(2,indice,filas-1);
      Lo que hace esto es buscar el número real de filas que tiene esa lista
      Espero te funcione

    • @garantiasintex49
      @garantiasintex49 4 года назад +1

      @@JuanSGuzman Primero que nada muchas gracias por tomarte tu tiempo, no cualquiera lo hace, eso habla muy bien de ti y tu canal, lamentablemente no me ha funcionado, ahora no me da la segunda lista desplegable, la que antes se quedaba como "cargando..." :(

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

      @@garantiasintex49 Hola!
      Revisate con este
      for(i=100;i>0;i--){
      if(hojaLista.getRange(i,indice).getValue()!=''){
      filas=i;
      break;
      }
      Reemplaza el ciclo anterior por este
      Creo que ya funciona
      Me cuentas!

  • @jenniferbolanos6673
    @jenniferbolanos6673 4 года назад +1

    Hola, primero que todo quiero agradecerte por el video fue muy útil, pero quisiera saber como puedo hacer lo mismo pero en otras columnas, ejemplo escoger el pais en la columna L y me salga la lista desplegable de ciudades en la columna M
    Muchas gracias

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

      Hola Jennifer, claro que si.
      En la linea 26
      if(filaActiva>1 && columnaActiva ==1 && archivo.getActiveSheet().getName()=="Datos")
      cambia el 1 por la columna que quieres
      Un gran saludo!

    • @jenniferbolanos6673
      @jenniferbolanos6673 4 года назад

      @@JuanSGuzman Muchísimas gracias, me ayudo bastante 🙌🙌 nuevo fiel suscriptor😁 Explica super bien, lo felicito y le agradezco por compartir sus conocimientos 👏👏👏

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

      @@jenniferbolanos6673 Mil gracias Jennifer!

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

    Buen día,
    Una pregunta cuando no está en la columna A, si no en el país está en la columna Z y la ciudad en la AA, ahí que se haría?

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

      Hola!
      Para eso estan estas 2
      var colDesplegable=3;
      var colSegundoDesplegable=4;
      cambialo por 26 y 27
      Saludos!

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

    Muy bueno el tutorial. ¿Que se podría hacer para que la celda ciudades deje ofrecer las opciones si la celda contigua de pais vuelve a estar vacia? Por que veo que una vez elegido un país la celda contigua muestra la lista desplegable e incluso permite elegir ciudades sin tener nada elegido en la celda país.

  • @camiladominguez9321
    @camiladominguez9321 3 года назад +1

    Me funcionó todo excelentísimo hasta que llegué al minuto 34:30 en donde pongo argentina y al poner las ciudades me sale un mensaje de Cargado... que no carga jamás nada :/ sabes a que se deberá?

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

      Hola Camila
      Dejame ver como tienes el código
      Saludos!

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

    Excelente Funciona, lo único que No logre hacer fue que me afectara únicamente la hojaDatos que ingresas en el min 18 si pudieses ayudarme te agradecería

  • @dianagriselrioslopez3853
    @dianagriselrioslopez3853 3 года назад

    Muchas gracias por compartir el codigo, fue muy buena la explicación. Tengo una duda. Si en mi hoja de sheet tengo varias listas desplegables y solo algunas celdas con listas dependientes y esta no inicia en la columna A, si no en la I (lista desplpegable) y J (lista desplegable dependiente de i), como podría yo hacer la aclaracion esto en el codigo??

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

      Hola!
      Solo cambia en la linea 16 "columnaActiva==1" por "columnaActiva==9"
      Te deberia funcionar
      Saludos!

  • @g.ocampos
    @g.ocampos 3 года назад

    Muy buen tutorial. Quisiera saber si es posible eliminar la lista desplegable si la primera lista desplegable está vacía (supongamos que lo borro eventualmente). Haciendolo así como está en el video a pesar de haber borrado la primera selección la segunda mantiene los valores de las ciudades del país borrado.

    • @g.ocampos
      @g.ocampos 3 года назад

      encontré una solución. Simplemente agregamos una columna vacía al inicio. Entonces también tomará esa columna de país "vacio" con su lista de ciudades vacías

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

      @@g.ocampos Muy elegante y simple solución. Felicitaciones!

  • @marcelocastro2337
    @marcelocastro2337 4 года назад +1

    Hola Juan, Cómo hago para que esas listas desplegables sean independientes de otro editor de la misma hoja ya que si yo elijo alguna opcion de la lista se le cambia al otro editor

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

      Hola!
      Tienes razón, es un gran problema, pero no hay solución desde este método
      Para esto tendríamos que usar Google Forms, con el gran problema de que no podemos hacer listas condicionales en Forms
      LA otra opción es hacer formularios HTML, cosa que veremos en futuros videos.
      Es una gran solución pero un poco más larga de implementar
      Saludos!

  • @leandrohernandez6856
    @leandrohernandez6856 4 года назад

    Hola Juan, muy buen video. Tengo una consulta: este macro me es de mucha utilidad para agregar nuevos elementos en mi hoja, pero quisiera adaptar una con datos que ya tengo sin tener que cambiar cada celda que condiciona a otra una por una. Me explico: en mi caso tengo "municipios" que me condicionan la lista desplegable en "barrios" estoy cambiando uno por uno los municipios para que se actualicen las listas de la celda de barrios de la fila correspondiente ¿hay alguna forma de que si yo cambio el municipio en múltiples filas se me actualicen múltiples lista de datos en "barrios"? Gracias desde ya.
    Saludos

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

      Hola Leandro
      Si, te entiendo. Esa es es una gran limitación de este código. Te toca "copiar y pegar" una por una
      Lo unico que se me ocurre es hacer otro codigo que funcione con rangos y que revise todo el rango.
      Interesante
      Lo dejo pendiente para otro video.
      Un gran saludo!

    • @leandrohernandez6856
      @leandrohernandez6856 4 года назад +1

      @@JuanSGuzman Gracias por tu respuesta, sí, ayer fui una por una, no es tanto el tiempo que se demora igualmente (tenía 500 filas) pero obviamente ahorraría bastante trabajo.
      Gracias de nuevo.
      Saludos!

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

    Cual es el video en el cual puedes conectar las hojas como mencionas en el video

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

    Gran trabajo Juan 👏 una duda, cómo puedo hacer una lista desplegable con elementos fijos marcados en la macro? Espero puedas contestar, saludos desde México

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

      Hola!
      A que te refieres con elementos fijos
      Saludos!

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

    SE PUEDEN EN DIFERENTES LINEAS DECODIGO PONER DISTINTAN CELDAS FILAS O COLUMNAS ACTIVAS ?

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

      Hola!
      No te entiendo bien
      Saludos!

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

      @@JuanSGuzman YA PUDE CON OTRO VIDEO TUYO, MUCHAS GRACIAS SON EXCELENTES ERES UN CRACK EN ESTO.

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

      @@ESTADISTUMEPP Excelente!

  • @WhyNotFlavs
    @WhyNotFlavs 3 года назад

    Hola Juan! Muy bueno el video, gracias por compartir tu conocimiento. Ahora mismo estoy probando tu macro, sin embargo tengo un problema. Quiero ejecutar en ese mismo archivo dos validaciones. Una en una hoja ("ingresos") y otra en "Egresos" pero cuando usas el onEdit ya no puedo usarlo para la otra validación condicional. Puedes ayudarme con eso? Muchas gracias de antemano

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

      Hola Flavio
      Mil gracias por tus palabras!
      usa el mismo onedit pero con dos condicional
      Cambia la tercera línea por var hojaDatos=archivo.getActiveSheet();
      Y después el condicional lo haces así. Cambias el primer condicional y al final agregas un else if
      if(filaActiva>1 && colActiva==1 && hojaDatos.getName()=="Hoja 1"){
      //Todo el código que genera el condicional
      }else if((filaActiva>1 && colActiva==1 && hojaDatos.getName()=="Hoja 2"){
      //Copia el mismo código de arriba
      }
      Me cuentas
      Un gran saludo!

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

    Hola otra cosa que puede mejorar el sistema es que la segunda lista desplegable se presente únicamente después de guardada la hoja en la nube por que mientras guarda, se puede elegir una de las opciones presentadas anteriormente que haya quedado como residuo a pesar que en la celda país se encuentre vacía.

  • @racsomtz9546
    @racsomtz9546 3 года назад +1

    ¿Qué parte tendría que repetir si quiero agregarle 2 opciones mas, por ejemplo: Países, ciudades, colonias y calles.

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

      Hola!
      Aquí te dejo un tutorial donde lo hago
      ruclips.net/video/fLZCo5KH_D8/видео.html&lc=Ugy_ARmlaTLQh-_M1054AaABAg.9BkkZ6Wtaz89MyUF8NsEOD
      Saludos!

  • @noegarcia4943
    @noegarcia4943 4 года назад +1

    Hola! Gracias por el video, muy buena la explicación.
    Tengo un problema, copié todo el códio tal cual y venía funcionando excelente. Pero luego de escribir la última línea (que en tu video es la línea 20) nada pasa en la hoja de cálculo, la lista ni siquiera aparece en otra hoja. Tampoco me salta ningún error en el código.
    ¿Tenés idea de lo que puede estar pasando?
    Gracias de antemano.
    Saludos

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

      Hola Noe
      Dejame ver el código por favor
      Saludos!

    • @noegarcia4943
      @noegarcia4943 4 года назад +1

      @@JuanSGuzman Gracias por la pronta respuesta. Te dejo el código...
      function onEdit(){
      var Archivo = SpreadsheetApp.getActiveSpreadsheet();
      var HojaCalendario = Archivo.getSheetByName('Calendario');
      var CeldaActivaCategoria = HojaCalendario.getActiveCell().getValue();
      var FilaActiva = HojaCalendario.getActiveCell().getRow();
      var ColumnaActiva = HojaCalendario.getActiveCell().getColumn();

      var HojaListas = Archivo.getSheetByName('Listas');
      var Categorias = HojaListas.getRange(1,1,1,HojaListas.getLastColumn()).getValues();
      if(FilaActiva>1 && ColumnaActiva ==1 && Archivo.getActiveSheet().getName()=='Calendario') {
      var IndiceCategorias = Categorias[0].indexOf(CeldaActivaCategoria)+1;
      var SubCategorias = HojaListas.getRange(2,IndiceCategorias,HojaListas.getLastRow());
      var ReglaValidacion = SpreadsheetApp.newDataValidation().requireValueInRange(SubCategorias).build();
      HojaCalendario.getActiveCell().offset(0, 1).setDataValidation(ReglaValidacion);
      }

      }
      Salduos!

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

      @@noegarcia4943 Hola! Muy raro. Esta bien el codigo. Tocaria ver todo el proyecto y hacerle unas depuraciones a ver que puede ser
      Un gran saludo!

    • @noegarcia4943
      @noegarcia4943 4 года назад +1

      @@JuanSGuzman Si, no se que pasa.
      Si querés puedo compartirlo, solo decime a dónde... De todas formas seguiré investigando.
      Gracias por todo! Y reitero, buen tutorial!
      Saludos

    • @garantiasintex49
      @garantiasintex49 4 года назад +2

      @@noegarcia4943 me pasa algo similar, tome el codigo me corre bien, pero justo al final, cuando ya quiero elegir la lista desplegable resultante, solo me dice "cargando..." y de alli no pasa

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

    Si se hace una copia del Sheets donde se tiene ese código, sigue funcionando el programa?

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

      Asi es. No funciona con todos los códigos, pero con este particular, si
      Saludos!

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

    Hola, no encuentro la opcion del editor de secuencias en el googlesheet del 2022, no se si hay alguna actualizacion y esta en otro lado o si se llama de otra forma. A ver si alguien sabe donde la encuentro.

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

      Hola!
      Ya viene un video donde explico las posibles razones
      Una razón frecuente es que estas trabajando con un archivo excel
      Saludos!

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

      @@JuanSGuzman Eso significa que no podemos hacer lo del video?
      A mi tampoco me aparece esa opción :(
      edit: ya busqué en su canal y vi en el video que podemos encontrar esa opción en Extensiones>Apps Script :)

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

      @@mashaovr Excelente!

  • @manuelgil6850
    @manuelgil6850 4 года назад +1

    Se puede replicar en google forms? Ejemplo, si algún empleado ingresa su código automáticamente aparezca su nombre completo y así evitar que escriban mal su nombre en una DB.

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

      Hola Manuel
      Gracias por escribir!
      Se puede hasta cierto punto.
      Si podemos poner un desplegable de codigos (que pueden ser traidos de una lista de Sheets) o inclusive una validacion de datos que solo permita codigos de empleados,
      Lo que si no podriamos es ver en el mismo Google Forms el nombre del empleado.
      En otras palabras, Google Forms no tiene forma de "actualizarse en tiempo rea" como si se puede en un sheets. Tu puedes ejecutar algun codigo cuando alguien abre un formulario, pero no "durante". Por ejemplo no podriamos que busque el nombre del empleado en el momento en que alguien responda una pregunta con un codigo especifico.
      Una vez se envie el formulario si podriamos ejecutar un codigo para que, por ejemplo, el codigo que digito vaya al sheets y ya lo podamos corresponder al nombre y hacer mas cosas, pero tod dentro de Sheets.
      Ojalá te haya respondido la pregunta.
      Seguiré subiendo mas videos de Forms para seguir aclarando estos temas.
      Saludos!

    • @manuelgil6850
      @manuelgil6850 4 года назад +1

      Muchas gracias Juan, muy útil tu canal. Gracias por tu respuesta.

  • @alfagriego
    @alfagriego 3 года назад

    Buenas de Argentina muy bien video. Te consulto no logro que con el .indexof me encuentre el resultado. La lista dice buscaría está en vertical no el horizontal como tenés en el ejemplo. Vos lo solucionas con paises[0].indexof....

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

      Hola!
      Hice hace poco un video de desplegables para cuando tienes las listas en vertical
      Échale un ojo de pronto te sirve
      ruclips.net/video/gwju78H3kW4/видео.html
      Saludos!

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

    Hola Juan! muchas gracias por tu video. He seguido tus pasos con la única diferencia de que mis variables tienen diferentes nombres y obtengo el siguiente error en la línea 20 "Exception: The parameters (SpreadsheetApp.DataValidationBuilder) don't match the method signature for SpreadsheetApp.Range.getDataValidation." Estoy trabajando en la nueva versión del script. ¿Qué puede ser? no entiendo muy bien como solucionarlo
    Muchas gracias de atemano por la ayuda

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

      Hola!
      Verifica que al final le hayas dado .build() a tu validación
      Saludos!

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

    Buenos Días, excelente video, pero en excel no tengo la opción de Editor de secuencias de comando, que podría hacer Ayudaaaa!, gracias

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

      Hola!
      Desafortunadamente para los archivos de excel no aplican estos códigos.
      Saludos!

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

      @@JuanSGuzman el que yo uso es el Excel de drive, que triste 😥, me parece super interesante aprender sobre este tema todos los días, que gran vídeo

  •  4 года назад +1

    Gracias por tus videos son muy buenos. Quisiera que me ayudes en algo respecto a listas. En excel yo trato de pegar en Validación de listas una formula con celdas por ejemplo: A4&M2 y me resulta obteniendo el nombre del intervalo, pero en el caso de google sheets no me resulta, como puedo hacer?

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

      Hola Manuel
      Gracias por los amables comentarios.
      Desafortunadamente Sheets no permite formulas en su validación de listas.
      Siempre hay que hacerlo con listas auxiliares.
      Te dejo aquí unos videos donde explico varios métodos para crear las listas. Ya esas listas podrias armarlas como quieras con las funciones que quieras
      Listas desplegables dependientes con INDIRECTO - ruclips.net/video/klACWQX1U14/видео.html
      Listas desplegables con FILTER - ruclips.net/video/7r26Z4iLjNA/видео.html
      Listas desplegables con INDICE - ruclips.net/video/x82Kvn_x5tE/видео.html
      Espero te sirva.
      Un gran saludo!

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

    M esta pasando que aun estando en OnEdit, no hace los mismo con el 5. Le doy a ejecutar, y no vuelve a aparecer el 5 asi se hagan cambios!
    Que hacer?

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

      No entiendo bien lo que te pasa
      HAbría que ver con mas detalle el problema
      Saludos!

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

    holaaaaa, de casualidad no hay alguna actualización hoy en día para omitir toda esta parte??

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

      Hola!
      Así es
      Aquí te dejo el video
      ruclips.net/video/s_dew3INyfU/видео.html
      Saludos!

  • @jorgedegoyeneche6364
    @jorgedegoyeneche6364 4 года назад +1

    hola, excelente ayuda...tengo una planilla donde esoty utilizando varias categorias con subcategorias, hice este script y me funciona perfecto, pero al elegir categoria, a la celda derecha pone muy bien las subcategorias, al elegir una, genera otra a la celda derecha siguiente...como puedo evitar eso?
    Muchas gracias

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

      Hola Jorge
      Asegurate que el condicional solo funcione para la columna de la categoria
      Me cuentas si funciona
      Saludos!

    • @jorgedegoyeneche6364
      @jorgedegoyeneche6364 4 года назад +1

      @@JuanSGuzman gracias por tu respuesta, pero no se como me aseguro de eso..

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

      Hola Jorge
      En l afila 18 tienes este condicional
      if(filaActiva>1 && columnaActiva ==1 && archivo.getActiveSheet().getName()=="Datos"){
      si las categorias estan en la columna 1, ese codigo te deberia funcionar, porque lo que estamos diciendo es que solo lo ejecute SOLO cuando este ubicando en la columna 1
      ME cuentas si te funciona revisando esa linea
      Saludos!

    • @jorgedegoyeneche6364
      @jorgedegoyeneche6364 4 года назад

      @@JuanSGuzman gracias nuevamente por tu buena voluntad, crreo lo tengo bien definido, pero me sigue creando listas desplegables en otras partes donde no las requiero...las que requiero funcionan perfect...gracias

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

      @@jorgedegoyeneche6364 Muy raro
      Cuando quieras me envias una copia y la reviso rapidamente
      Saludos!

  • @paulinaarnold6499
    @paulinaarnold6499 3 года назад +1

    Excelente video! Me aparece error dice “exception: the starting column of the range is too small” que quiere decir o que tengo que corregir ahí?

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

      Hola Paulina
      En que linea te pasa?
      Saludos!

    • @paulinaarnold6499
      @paulinaarnold6499 3 года назад +1

      @@JuanSGuzman ya pude! Me había faltado un paréntesis JAJA mil gracias me ayudó bastante el video✨

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

      @@paulinaarnold6499 Excelente!

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

    Hola, por alguna razón no me aparece en herramientas el editor de secuencias de comando. Estuve buscando y no aparece una solución aparente mas que esté guardada en formato de excel, pero no es así. ¿Tendrás idea de qué pudiera estar pasando? Muchas gracias

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

      Hola!
      Hace poco cambiaron el menú
      Ahora está en "Extensiones" > "Apps Script"
      Saludos!

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

    Otras pregunta, que pasa si no tengo una sola hoja si no que tengo mas, como llamo a la hoja donde requiero el condicional de varias filas?

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

    Hola Juan en la linea 12 me dice Exception: La columna inicial del intervalo es demasiado pequeña. (línea 12, archivo "Código") esta todo igual a como tu lo tienes

  • @alexandrarojas6202
    @alexandrarojas6202 4 года назад +1

    Quisiera saber como puedo aplicar las funciones cuando los datos los tengo en orden vertical

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

      Hola! El método cambia un poco, ya que tenemos que usar "filter".
      Tengo planeado un video explicando este método
      Un gran saludo!

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

      @@JuanSGuzman Hola Julio, muy bueno tus videos, espero sigas subiendo nuevas actualizaciones, y respecto a este metodo con filter lograste publicar?

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

      @@bladimirhelizalde8482
      SI, ya hay varios videos más en el canal. Aquí te dejo una lista
      ruclips.net/p/PLvrIQ0wr2BTLMju7Iz5WkbyPi621WqFCt
      Saludos!

  • @jaimepelegri5475
    @jaimepelegri5475 3 года назад +1

    Hola Juan, tengo un problema y es que el cambio de la primera lista desplegable se hace a través de una fórmula (pasa de celda vacía en blanco a un valor) y no clicando sobre la celda, abriendo el desplegable y eligiendo un valor. ¿Alguna solución para que la segunda lista desplegable se active con el cambio de la la primera a través de una fórmula?

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

      Hola!
      Difícil
      Te tocaría con un activador y usando un "recorrido masivo" como en este video
      ruclips.net/video/8Utinr3rNI8/видео.html
      Saludos!

  • @teo2033
    @teo2033 3 года назад +1

    Hola! Primero que nada gracias por el video, es lo que estaba buscando.
    Solo que tengo un problema con indexOf ("TypeError: Cannot read property 'indexOf' of undefined")
    Alguien sabe cuál es el problema?
    Gracias!

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

      Hola!
      Normalmente ese error se debe a que el arreglo al que le estas haciendo IndexOf no existe
      Intenta con Logger.log(paises[0]) a ver que te muestra
      Me cuentas
      Saludos!

    • @teo2033
      @teo2033 3 года назад

      @@JuanSGuzman Pude solucionarlo, Gracias!
      Ahora el problema que tengo es que no me aparece la lista desplegable al lado de la lista condicional :(
      Qué tipo de problema puede ser? Porque recibe la última parte de la macro donde realizas esto y la tengo igual.
      Probé con un logger.log en las variantes del inicio y me sale "Información" sin importar la celda donde me encuentre, no sé si allí esté el problema.
      Desde ya, muchísimas gracias Juan