Oi! Boa noite! Fiz aqui e deu certinho! Sempre tenho que revisar o código porque passa uma letrinha ou outras, mas tudo certo! Estava procurando mesmo essa macro...
@@CanalSGP Se não for muito incomodo, gostaria de saber como faço para a pesquisa retornar "False" caso nao localize o item ou mesmo para que apresente mensagem de item nao encontrado.
Bom dia, pode colocar uma condição if para analisar o resultado informado, ajuste a macro no final: if (Linha != -1) { var Linha = Linha + 6; Guia.getRange(Linha, 2).activate(); Guia.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate(); }else{ Browser.msgBox("Não localizado!"); }
Cara, seu canal é incrivel e tem me ajudado muito, porém estou em duvida nesse daqui. Eu posso pesquisar em duas colunas ao messmo tempo? No caso a coluna B e C
Bom dia, obrigado, não tentei utilizar este script para pesquisar em mais de uma coluna. Mas tem outro vídeo sobre o tema com a função query. ua-cam.com/video/09Mcxa3tlCo/v-deo.html
Olá excelente trabalho, muito útil no meu trabalho, onde criei uma planilha de banco de dados e atualmente está com cerca de 12.000 linhas preenchidas, fiz a macro e funcionou, porém está lento demais para encontrar a linha, só pesquiso números em formato de texto, é possível alterar a macro para agilizar o processo? E se isso resolveria? No vídeo encontra tão rápido a linha! Obrigado.
Bom dia, obrigado, para rodar mais rápido acredito que somente com array. Segue link de vídeo com outro procedimento, códigos prontos para filtrar. ua-cam.com/video/1OdGnh8levY/v-deo.html
@@CanalSGP Boa tarde, no caso a funcionalidade da primeira opção para mim é mais útil, pois as vezes eu preciso localizar a linha e alterar os dados e não só visualizar, na verdade trata-se de um banco de dados de Notificações Lavradas aos munícipes por irregularidade de obras, desde 2014, desse banco de dado criei outra aba onde gera a multa caso não cumpra com o determinado na notificação, no entanto as vezes na hora de gerar a multa alguns dados precisão ser corrigidos ou acrescentados, por isso o motivo da busca da linha em especifico.
Bom dia, obrigado, teste retirar o else do if a seguir. if (typeof r[0] == "string"){ return r[0].toLowerCase(); }else{ return r[0]; } if (typeof r[0] == "string"){ return r[0].toLowerCase(); }
boa tarde! Tudo bem? Muito bons os conteúdos, têm me ajudado bastante. Estou tentando localizar células vazias em um coluna e copiar toda a linha da célula vazia para a última linha da planilha. Não estou tendo sucesso, alguma ideia de como fazer isso?
Boa tarde, obrigado, não tentei fazer algo semelhante ainda, experimente pesquisar por loop, se for possível muito provável que seja utilizando este recurso.
3 роки тому
Olá, gostei do seuvídeo e foi bastante útil, portanto, apenas tenho uma dúvida. O meu localizador, está a selecionar toda a barra que não seja a coluna desejada
Boa tarde, existe uma forma de eu ter uma planilha com os dados, que eu quero procurar, mas que a busca seja exibida em outra página? por exemplo, um banco de dados, onde o script procure o que eu quero, e esse dado seja exibido em outra página?
Olá, seria possível pesquisar mais de um conteúdo dentro da mesma célula para, então, selecionar a linha toda? Preciso excluir uma linha inteira a partir de uma lista de e-mails, buscando por cada um deles e fazendo a exclusão.
Boa tarde! Gostaria de saber se consigo adaptar seu script, para pesquisar por data, sendo que a data a ser pesquisada, será sempre: =Hoje(). O formato usado é: DD/MM/AAAA.
Gostaria de saber se é possível em vez de apenas localizar, filtrar os dados de forma de que as outras informações fiquem ocultas e se é possível fazer mais de uma macro em uma planilha
Estou a umas duas horas tentando fazer, me atentei a deixar literalmente identico, mudando apenas a linha e a coluna de pesquisa e consulta... O script executa mas para em silencio como se não tivesse feito nada. Não sei o que fazer.
Muito boa sua aula. Funcionou legal. Contudo, preciso pesquisar pelo 1º nome do Cliente e a resposta da macro para no primeiro nome que encontra. Porém tenho diversos Clientes com nome 1º nome igual (Ex. Mario - José...) Você poderia me dar uma luz?
Bom dia, obrigado, neste caso acredito que seja melhor utilizar um filtro, segue link de vídeo aula explicativa: ua-cam.com/video/sf6JDlriXgo/v-deo.html
Legal o conteúdo, a minha funcionou. Só que tem um bug: Quando se digita o que se quer no campo de pesquisa e depois já clica no botão localizar a busca não funciona. Agora se digita o que se quer, clica fora ou dar enter e depois clica no botão funciona.
Fala amigo, criei um botão com uma imagem, mas gostaria de ao clicar nele, mudar o valor de uma celula qualquer, pode ser checkbox, ou qualquer alteração na celula, porque ao alterar o valor da celula uma formula de importação de dados iria atualizar automaticamente, tem como fazer isso no google planilhas?
@@CanalSGP Obrigado, descobri uma maneira mais fácil, gravei uma macro executando o atalho Ctrl + Shift + ; , para incluir a hora atual, e inclui o script no botão, ao clicar no botão muda a hora e atualiza a formula. Muito obrigado pelas dicas. Abs!
@@CanalSGP tem algum video seu ensinando a atualizar formula de tanto em tanto tempo automaticamente? Atualizar a formula ou executar script de tanto em tanto tempo
O meu apareceu que ocorreu um erro no script, Erro de sintaxe: SyntaxError: missing ) after argument list, linha: 20, arquivo: Código.gs. ja procurei o erro e nao acho de jeito nenhum. Percebi que o aplicativo do google mudou um pouco desde a publicação deste video.. maior tempo jogado fora
Bom dia, segue script de exemplo: function localizar() { var Planilha = SpreadsheetApp.getActiveSpreadsheet(); var Guia = Planilha.getSheetByName("Dados"); var Pesquisa = Guia.getRange(2, 3).getValue();
if (Pesquisa == ""){ return false; } var Pesquisa = Pesquisa * 1; if (Pesquisa > 1){ }else{ var Pesquisa = Guia.getRange(2, 3).getValue(); } var Dados = Guia.getRange(6, 2, Guia.getLastRow(),1).getValues();
var DadosNovos = Dados.map(function (r) { if (typeof r[0] == "string"){ return r[0].toLowerCase(); }else{ return r[0]; } });
if ( typeof Pesquisa == "string"){ var Linha = DadosNovos.indexOf(Pesquisa.toLowerCase()); }else{ var Linha = DadosNovos.indexOf(Pesquisa); }
if (Linha != -1) { var Linha = Linha + 6; Guia.getRange(Linha, 2).activate(); Guia.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate(); }else{ Browser.msgBox("Não localizado!"); }
@@CanalSGP na verdade, ela está funcionando, só não está fazendo a seleção o que seria o direction next, escrevi tudo certo conforme explicou no vídeo.
Bom dia, segue script de exemplo para que possa comparar. function localizar() { var Planilha = SpreadsheetApp.getActiveSpreadsheet(); var Guia = Planilha.getSheetByName("Dados"); var Pesquisa = Guia.getRange(2, 3).getValue();
if (Pesquisa == ""){ return false; } var Pesquisa = Pesquisa * 1; if (Pesquisa > 1){ }else{ var Pesquisa = Guia.getRange(2, 3).getValue(); } var Dados = Guia.getRange(6, 2, Guia.getLastRow(),1).getValues();
var DadosNovos = Dados.map(function (r) { if (typeof r[0] == "string"){ return r[0].toLowerCase(); }else{ return r[0]; } });
if ( typeof Pesquisa == "string"){ var Linha = DadosNovos.indexOf(Pesquisa.toLowerCase()); }else{ var Linha = DadosNovos.indexOf(Pesquisa); }
if (Linha != -1) { var Linha = Linha + 6; Guia.getRange(Linha, 2).activate(); Guia.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate(); }else{ Browser.msgBox("Não localizado!"); }
@@CanalSGP Bom dia! eu conferi, preenchi conforme mandou, ela localiza, todavia não seleciona a linha, posso te mandar por e-mail para você verificar pra mim? qual seria o motivo?
@@CanalSGP Deu certo, mas ai desconfigura a data, teria de voltar ela para formatação automática novamente. Não tem como buscar pela data direto sem ter que formatá-la como texto?
Bom dia, infelizmente não, mas pode colocar na própria macro para formatar para texto e depois voltar para data, experimente gravar uma macro para pegar os códigos.
fiz essa macro, mais deu um erro Exception: Os parâmetros (number,number) não correspondem à assinatura de método para SpreadsheetApp.Sheet.getDataRange.
Mais uma vez me salvando! obrigada!
De nada.
Oi! Boa noite! Fiz aqui e deu certinho! Sempre tenho que revisar o código porque passa uma letrinha ou outras, mas tudo certo! Estava procurando mesmo essa macro...
Boa noite, que bom que deu certo.
@@CanalSGP Se não for muito incomodo, gostaria de saber como faço para a pesquisa retornar "False" caso nao localize o item ou mesmo para que apresente mensagem de item nao encontrado.
Bom dia, pode colocar uma condição if para analisar o resultado informado, ajuste a macro no final:
if (Linha != -1) {
var Linha = Linha + 6;
Guia.getRange(Linha, 2).activate();
Guia.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
}else{
Browser.msgBox("Não localizado!");
}
@@CanalSGP Obrigada!!! Existe alguma forma de eu retribuir ao seu canal além de divulgar?
Bom dia, de nada, está tranquilo.
Vc é muito bom mesmo
Bom dia, obrigado, sucesso em seus estudos.
Muito obrigado, excelente aula!
Obrigado.
excelente
Obrigado
mano vc me salvou valeu mesmo
Que bom que ajudou
muito bom! obrigado!!!
De nada
Cara, seu canal é incrivel e tem me ajudado muito, porém estou em duvida nesse daqui. Eu posso pesquisar em duas colunas ao messmo tempo? No caso a coluna B e C
Bom dia, obrigado, não tentei utilizar este script para pesquisar em mais de uma coluna. Mas tem outro vídeo sobre o tema com a função query. ua-cam.com/video/09Mcxa3tlCo/v-deo.html
Olá excelente trabalho, muito útil no meu trabalho, onde criei uma planilha de banco de dados e atualmente está com cerca de 12.000 linhas preenchidas, fiz a macro e funcionou, porém está lento demais para encontrar a linha, só pesquiso números em formato de texto, é possível alterar a macro para agilizar o processo? E se isso resolveria? No vídeo encontra tão rápido a linha! Obrigado.
Bom dia, obrigado, para rodar mais rápido acredito que somente com array. Segue link de vídeo com outro procedimento, códigos prontos para filtrar. ua-cam.com/video/1OdGnh8levY/v-deo.html
@@CanalSGP Boa tarde, no caso a funcionalidade da primeira opção para mim é mais útil, pois as vezes eu preciso localizar a linha e alterar os dados e não só visualizar, na verdade trata-se de um banco de dados de Notificações Lavradas aos munícipes por irregularidade de obras, desde 2014, desse banco de dado criei outra aba onde gera a multa caso não cumpra com o determinado na notificação, no entanto as vezes na hora de gerar a multa alguns dados precisão ser corrigidos ou acrescentados, por isso o motivo da busca da linha em especifico.
Boa noite, entendi. Dei uma olhada neste script e ele também já está com array, pelo menos de momento não sei de uma forma de deixar mas rápido.
muito bom a aula. gostaria de saber como seria para localizar so texto, sem numero.
Bom dia, obrigado, teste retirar o else do if a seguir.
if (typeof r[0] == "string"){
return r[0].toLowerCase();
}else{
return r[0];
}
if (typeof r[0] == "string"){
return r[0].toLowerCase();
}
boa tarde! Tudo bem? Muito bons os conteúdos, têm me ajudado bastante. Estou tentando localizar células vazias em um coluna e copiar toda a linha da célula vazia para a última linha da planilha. Não estou tendo sucesso, alguma ideia de como fazer isso?
Boa tarde, obrigado, não tentei fazer algo semelhante ainda, experimente pesquisar por loop, se for possível muito provável que seja utilizando este recurso.
Olá, gostei do seuvídeo e foi bastante útil, portanto, apenas tenho uma dúvida.
O meu localizador, está a selecionar toda a barra que não seja a coluna desejada
Boa tarde, obrigado, no caso este script seleciona a linha inteira.
@@CanalSGP E o que devo fazer nesse caso?
@CANAL SGP tem como localizar so metade da palavra?
Bom dia, pode fazer um filtro por parte do texto, segue link de vídeo explicativo. ua-cam.com/video/sf6JDlriXgo/v-deo.html
Olá Professor, tem como criar o Script para pesquisar em mais de 1 Guia?
Boa tarde, segue link de vídeo neste sentido. ua-cam.com/video/AvnYiYnuSS0/v-deo.html
Boa tarde, existe uma forma de eu ter uma planilha com os dados, que eu quero procurar, mas que a busca seja exibida em outra página? por exemplo, um banco de dados, onde o script procure o que eu quero, e esse dado seja exibido em outra página?
Bom dia, talvez seja o caso de utilizar um script de filtro em outra guia. Segue link de vídeo neste sentido. ua-cam.com/video/hSurv58aLqE/v-deo.html
@@CanalSGP valeu vou dar uma olhada
Olá, seria possível pesquisar mais de um conteúdo dentro da mesma célula para, então, selecionar a linha toda? Preciso excluir uma linha inteira a partir de uma lista de e-mails, buscando por cada um deles e fazendo a exclusão.
Bom dia, neste caos acredito que seja melhor trabalhar com filtro. Segue link de script de filtro. ua-cam.com/video/X4wundOOEAk/v-deo.html
É possível fazer para pesquisar em todas as guias ?
Bom dia, não tentei procedimento assim ainda.
Também quero saber... Alguém já conseguiu uma resposta?
Boa tarde!
Gostaria de saber se consigo adaptar seu script, para pesquisar por data, sendo que a data a ser pesquisada, será sempre: =Hoje(). O formato usado é: DD/MM/AAAA.
Bom dia, neste caso acredito que seja melhor um filtro, segue link de exemplo.
@@CanalSGP poxa, estou com a mesma necessidade do amigo acima. Só faltou o link do exemplo - consegue mandar pra gente?
Boa noite, segue link de um vídeo com script pronto. ua-cam.com/video/1OdGnh8levY/v-deo.html
Gostaria de saber se é possível em vez de apenas localizar, filtrar os dados de forma de que as outras informações fiquem ocultas e se é possível fazer mais de uma macro em uma planilha
Bom dia, pode filtrar os dados desejados para outra guia, segue link de aula de exemplo:ua-cam.com/video/DSkqtiDck-o/v-deo.html
Estou a umas duas horas tentando fazer, me atentei a deixar literalmente identico, mudando apenas a linha e a coluna de pesquisa e consulta... O script executa mas para em silencio como se não tivesse feito nada. Não sei o que fazer.
Boa noite, solicite o script de exemplo nos contatos do site do canal, link na descrição do vídeo.
Gostaria de saber se é possível localizar a linha inserindo apenas parte de um texto, que pode estar no meio de uma célula.
Bom dia, segue link de exemplo de filtro.
ua-cam.com/video/sf6JDlriXgo/v-deo.html
Eu pesquiso e ele me leva ate a primira linha dos produtos, nao importa oq eu digite como resolvo ?
Bom dia, pode ser erro de referência a coluna critério.
Muito boa sua aula. Funcionou legal. Contudo, preciso pesquisar pelo 1º nome do Cliente e a resposta da macro para no primeiro nome que encontra. Porém tenho diversos Clientes com nome 1º nome igual (Ex. Mario - José...) Você poderia me dar uma luz?
Bom dia, obrigado, neste caso acredito que seja melhor utilizar um filtro, segue link de vídeo aula explicativa: ua-cam.com/video/sf6JDlriXgo/v-deo.html
Existe uma forma de eu buscar qualquer dado em uma planilha e não só de uma coluna?
Boa tarde, não tentei fazer algo assim ainda.
Legal o conteúdo, a minha funcionou. Só que tem um bug: Quando se digita o que se quer no campo de pesquisa e depois já clica no botão localizar a busca não funciona. Agora se digita o que se quer, clica fora ou dar enter e depois clica no botão funciona.
Boa noite, acredito que isso seja devido ao fato que o Google demora alguns segundos para atualizar as informações da planilha no servidor em nuvem.
Olá, queria saber se tem como fazer um macro, em que ele localiza uma modificação na pagina Web, e retorna para a página anterior
Boa tarde, infelizmente não tenho nada neste sentido.
Fala amigo, criei um botão com uma imagem, mas gostaria de ao clicar nele, mudar o valor de uma celula qualquer, pode ser checkbox, ou qualquer alteração na celula, porque ao alterar o valor da celula uma formula de importação de dados iria atualizar automaticamente, tem como fazer isso no google planilhas?
Boa noite, dá para salvar ao clicar em botão, igual no exemplo da aula a seguir. ua-cam.com/video/8HdTwtkuubs/v-deo.html
@@CanalSGP Obrigado, descobri uma maneira mais fácil, gravei uma macro executando o atalho Ctrl + Shift + ; , para incluir a hora atual, e inclui o script no botão, ao clicar no botão muda a hora e atualiza a formula. Muito obrigado pelas dicas.
Abs!
@@CanalSGP tem algum video seu ensinando a atualizar formula de tanto em tanto tempo automaticamente?
Atualizar a formula ou executar script de tanto em tanto tempo
Bom dia, não tenho procedimento assim ainda.
O meu apareceu que ocorreu um erro no script, Erro de sintaxe: SyntaxError: missing ) after argument list, linha: 20, arquivo: Código.gs. ja procurei o erro e nao acho de jeito nenhum. Percebi que o aplicativo do google mudou um pouco desde a publicação deste video.. maior tempo jogado fora
Boa noite, mudou as opções de menu, mas o scripts continuam os mesmos.
eu gostaria de clicar em um link na celula a partir de um botao
Boa tarde, não fiz algo assim ainda.
Essa macro rodaria no App planilhas do celular?
Bom dia, roda somente em computador.
fica aparecendo esse erro TypeError: Cannot read property 'getRange' of nullDetalhes
Boa tarde, talvez seja algum erro de digitação ou de referência a aba da planilha.
TypeError: Dados.map is not a function - Pode me ajudar?
Bom dia, segue script de exemplo:
function localizar() {
var Planilha = SpreadsheetApp.getActiveSpreadsheet();
var Guia = Planilha.getSheetByName("Dados");
var Pesquisa = Guia.getRange(2, 3).getValue();
if (Pesquisa == ""){
return false;
}
var Pesquisa = Pesquisa * 1;
if (Pesquisa > 1){
}else{
var Pesquisa = Guia.getRange(2, 3).getValue();
}
var Dados = Guia.getRange(6, 2, Guia.getLastRow(),1).getValues();
var DadosNovos = Dados.map(function (r) {
if (typeof r[0] == "string"){
return r[0].toLowerCase();
}else{
return r[0];
}
});
if ( typeof Pesquisa == "string"){
var Linha = DadosNovos.indexOf(Pesquisa.toLowerCase());
}else{
var Linha = DadosNovos.indexOf(Pesquisa);
}
if (Linha != -1) {
var Linha = Linha + 6;
Guia.getRange(Linha, 2).activate();
Guia.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
}else{
Browser.msgBox("Não localizado!");
}
}
caso eu queira... fazer a pesquisa apos apertar enter
Bom dia, veja o procedimento da vídeo aula no link a seguir, acredito que atenda a sua necessidade: ua-cam.com/video/qkcad99xYl8/v-deo.html
Boa noite! Eu fiz todas as etapas, mas está dando erro no código TypeError: Guia.getlastrow is not a function. Pode me ajudar?
Bom dia, pode ser o nome da aba que está errado ou digitação da linha de código, confirme se colocou () depois do Getlastrow()
@@CanalSGP Boa noite! Eu fiz a correção, porém na depuração está apontado que o código getNextDataRange não existe. O que posso fazer?
@@CanalSGP na verdade, ela está funcionando, só não está fazendo a seleção o que seria o direction next, escrevi tudo certo conforme explicou no vídeo.
Bom dia, segue script de exemplo para que possa comparar.
function localizar() {
var Planilha = SpreadsheetApp.getActiveSpreadsheet();
var Guia = Planilha.getSheetByName("Dados");
var Pesquisa = Guia.getRange(2, 3).getValue();
if (Pesquisa == ""){
return false;
}
var Pesquisa = Pesquisa * 1;
if (Pesquisa > 1){
}else{
var Pesquisa = Guia.getRange(2, 3).getValue();
}
var Dados = Guia.getRange(6, 2, Guia.getLastRow(),1).getValues();
var DadosNovos = Dados.map(function (r) {
if (typeof r[0] == "string"){
return r[0].toLowerCase();
}else{
return r[0];
}
});
if ( typeof Pesquisa == "string"){
var Linha = DadosNovos.indexOf(Pesquisa.toLowerCase());
}else{
var Linha = DadosNovos.indexOf(Pesquisa);
}
if (Linha != -1) {
var Linha = Linha + 6;
Guia.getRange(Linha, 2).activate();
Guia.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
}else{
Browser.msgBox("Não localizado!");
}
}
@@CanalSGP Bom dia! eu conferi, preenchi conforme mandou, ela localiza, todavia não seleciona a linha, posso te mandar por e-mail para você verificar pra mim? qual seria o motivo?
Otimo video, porem só eu consigo clicar no botao, outras pessoas nao consegue, poderia me ajudar?
Boa tarde, verifique se os usuários autorizaram o script no primeiro acesso.
@@CanalSGP obrigado agora foi, porem se a pessoa nao tiver logando no google nao funciona ne ? teste aqui como anonimo, mais nao foi.
Precisa estar logado e sua conta do drive.
Amigo e se a pesquisa for uma data tentei aqui e não deu certo.
Boa tarde, a coluna referente a data precisa estar formatada como texto simples.
@@CanalSGP Deu certo, mas ai desconfigura a data, teria de voltar ela para formatação automática novamente. Não tem como buscar pela data direto sem ter que formatá-la como texto?
Bom dia, infelizmente não, mas pode colocar na própria macro para formatar para texto e depois voltar para data, experimente gravar uma macro para pegar os códigos.
.getDisplayValue()
getDisplayValueretorna o valor que você vê na tela, portanto sempre uma string.
mas gostei da dinamica do video
Obrigado
o meu deu erro, não aceita o "+"
Boa noite, qual a mensagem de erro.
Dados.map não é uma função 🤡 como resolvo isso
Bom dia, pode ser que tenha erro de digitação dentro do map.
Dados.map nao existe no meu... Assisti ao video até aqui a toa... Perda de tempo
Abraços
Bom dia, que pena.
o meu ta dando erro TypeError: Planilha.getSheetByName is not a function
o que faço agora??
Bom dia, pela mensagem deve ser erro ao referenciar o nome da aba da planilha.
@@CanalSGP eu coloquei esse codigo
var Guia = Planilha.getSheetByName("Plan1");
preciso renomear novamente, será?
Bom dia, copia e cola o nome para ver, se não for isso, pode ser que variável planilha esteja errado.
fiz essa macro, mais deu um erro
Exception: Os parâmetros (number,number) não correspondem à assinatura de método para SpreadsheetApp.Sheet.getDataRange.
Boa tarde, acredito que seja erro nas referências a área da planilha.