Ir ao conteúdo

Nortonap

Membro Pleno
  • Posts

    66
  • Cadastrado em

  • Última visita

Tudo que Nortonap postou

  1. @CasaDoHardware e @Patropi, muito obrigado. Dou o tópico por encerrado. Consegui fazer o que queria acima fazendo uma pequena adaptação no código do @CasaDoHardware. Ficou assim, em linhas gerais: 'Carregando as Variaveis If ActiveSheet.Name = "PJ1" Then Set WP = Sheets("PJ1") Proc = WC.Range("A3").Value End If If ActiveSheet.Name = "PJ2" Then Set WP = Sheets("PJ2") Proc = WC.Range("A4").Value End If
  2. @CasaDoHardware, meu amigo. Não tinha como eu não conseguir com essa sua "mastigação" e com todos essas dicas, principalmente aquela de acompanhar o código passo-a-passo. Pude entender exatamente o que estava dando errado e fazer o excel colar mesmo minhas células mescladas. Um forte abraço. Não sei como agradecer a você e ao @Patropi pelos esclarecimentos. Acredito que, para finalizar este tópico, só tenho mais uma dúvida sobre o VBA. Seguinte, a fórmula do @CasaDoHardware utilizou o valor de uma lista suspensa, na qual eu escolhia qual o Procurador. Assim, a mesma planilha (sheet) serviria para todos. Eu separei os dados estatíticos de cada um em uma aba (sheet) diferente. Existe alguma forma de a mesma MACRO (Filtrar) verificar qual aba está ativa e, com base nela, determinar o Procurador? Por exemplo: criei 12 abas, PJ1, PJ2, PJ3 etc... Teria como o código verificar a aba aberta, onde cliquei no botão FILTRAR, e determinar, por exemplo, se a ABA for PJ1, o procurador é o =Configurações!A3, PJ2, =Configurações!A4, e aí vai? Se não tiver como, tudo bem. Faço 12 macros diferentes. De qualquer forma, muito obrigado por tudo. Após a resposta acima, dou o tópico por completamente satisfeito e encerrado.
  3. Meus caros amigos @Patropi e @CasaDoHardware, com a ajuda de vocês resolvi 90% das minhas necessidades. Só tenho uma pendente, que originou este tópico: apesar de pesquisar e pesquisar, não consegui encontrar um material ou videoaula que contenha o que preciso fazer em VBA. Na verdade, não tenho muitos objetivos com o VBA. Apenas fazer pesquisas específicas a fim de extrair alguns dados dos lançamentos que são feitos nas planilhas. Preciso compreender a fórmula do @CasaDoHardware, porque acredito que ela servirá 100% de base para outras que quero fazer. Compreendi quase tudo, mas para poder fazer adaptações preciso compreender 100% do trecho abaixo. Sei que é pedir demais, mas, se possível, preciso de um comentário do que, basicamente, cada linha faz. Já fui professor de inglês e os termos, na maioria das vezes, são compreensíveis. Então precisaria entender apenas os comandos. Vou colocar com # o que entendi mais ou menos, e daí vocês poderiam complementar e corrigir. '----------------------------------------------- 'Inicio do Filtro Do While ActiveCell <> "" # Enquanto uma determinada célula ativa não for em branco... If ActiveCell = Proc Then # Se a célula ativa for igual a variável "Proc" então... Intersect(Selection.EntireRow, _ Range("B:J")).Select # Selecionar a linha inteira de B à J; Selection.Copy # Copiar a seleção WP.Select # Selecionar a planilha WP; Range("B1048576").End(xlUp).Select # Do início ao fim? ActiveCell.Offset(1, 0).Select # ????? With Selection .PasteSpecial Paste:=xlPasteValues .PasteSpecial Paste:=xlPasteFormats # Com a seleção, colar especial End With # Fim de alguma coisa... Application.CutCopyMode = False # ?? Cont = Cont + 1 # Aqui vejo que tem um contador.. apenas pra dizer quantos processos foram encontrados? ActiveCell.Offset(0, -1).Value = Cont # Daqui pra cá não entendi muita coisa WP.Range("B7").Select WM.Select ActiveCell.Offset(1, 7).Select Else ActiveCell.Offset(1, 0).Select # Como já programei no mIRC, sei que aqui tem uma verificação.. se, tal coisa.. senão, tal coisa.. End If Loop # retorna ao início do comando '-------------------------------------------- 'Mensagem de Aviso MsgBox "O Procurador" & " " & Proc & " " & "Possui" & " " & Format(Cont, "000") & " " & "Processos.", vbOKOnly, "Pesquisa Concluida." OBS.: A planilha é aquela que o @CasaDoHardware postou logo de início...
  4. @CasaDoHardware, meu amigo, você não foi rude em momento nenhum. Pelo contrário, extremamente paciente. O problema é que eu não estou nem perto do nível de vocês - mas vou mudar isso, estudando as apostilas -, o que complica muito minha compreensão. Quando você insistiu na SOMARPRODUTO, e me mandou uma planilha com ela contendo apenas números, deduzi erroneamente que era uma fórmula matemática e que, literalmente, somava produtos (resultados de multiplicações, adições etc), e como queria usar com texto, achei que não ia dar certo e não consegui adaptar. Mas não tem o que se desculpar. Sem sua ajuda, não teria nem iniciado a planilha. Aprendi em linhas gerais o que é VBA e pra que serve. Não sabia nem onde ficava a aba disso. Pode parecer pouco, mas é muito. Muito obrigado por tudo. @Patropi, obrigado também pelos comentários adicionais e esclarecedores e pela planilha de exemplo. Um exemplo geralmente ajuda muito para quem não sabe quase nada... rs.. Meus caros amigos, não sei se posso continuar postando dúvidas aqui, que são desdobramentos da planilha que envolve o tópico.. espero que sim e que não esteja cometendo nenhuma infração do fórum... É o seguinte: as fórmulas CONT.SES e SOMARPRODUTO estão funcionando uma maravilha. Segui a dica de vocês e, na aba "CONF", coloquei as configurações padrões que serão referência para as outras planilhas e que, precisando, ano a ano, só farei alteração na aba principal. O problema é o seguinte: Montei uma tabela que contém 228 campos para preencher com fórmula. Ao todo, esta mesma tabela, terá 12 cópias, referente aos 12 meses de cada ano. Assim, são 2.736 campos para preencher com fórmulas que diferem apenas "2" pontos. Com o "ctrl + c", o excel copia a fórmula, mas alterando em muito os parâmetros, que passam a não funcionar. Tentei fazer com macro, com base em um vídeo da internet, que fala em macro absoluta e relativa, mas não deu certo. Não sei se fiz algo errado. Devo ter feito para variar.. Vou exemplificar sucintamente como seria a planilha real e o que preciso modificar na fórmula: M40 N40 O40 P40 AC ACR ACP ADI A41 BELTRANO 0 2 4 1 A42 CICRANO 4 1 1 2 A43 FULANO 2 1 5 1 Então é assim.. a fórmula real é "=CONT.SES(Manifestações!AN1:AN9948;A41;Manifestações!O1:O9948;M40;Manifestações!C1:C9948;">="&Conf!H3;Manifestações!C1:C9948;"<="&FIMMÊS(Conf!H3;0);Manifestações!Z1:Z9948;"Não")" O que a fórmula faz é verificar quantos processos de determinado rito (M40) foram repassados em janeiro de determinado ano (Conf!H3) a uma certa pessoa (A41). Então, por exemplo, quando for editar as 19 fórmulas (19 ritos) para o A41 (BELTRANO), preciso apenas, coluna a coluna, alterar o M40 para a coluna imediatamente posterior (N40,040,P40) e aí vai. Quando for passar pra outra linha, referente ao CICRANO (A42), a fórmula vai alterar, de coluna a coluna, apenas, de novo, M40, N40, O40, P40, e aí vai. O problema é que, ainda que na mesma linha, copie a primeira fórmula e cole nas demais, o excel altera todos os parâmetros da fórmula, alterando critérios linhas etc. Alguma luz? Obrigado.
  5. @CasaDoHardware e @Patropi, muito obrigado, meus caros amigos. Fiz uma reviravolta aqui e entendi as duas fórmulas e deu tudo certo. Vão atender perfeitamente minhas necessidades. Apenas o VBA precisa ser aprimorado, mas se Deus quiser chego lá. Um forte abraço.
  6. @CasaDoHardware, já estou com medo de você me ralhar, diante de tanta ignorância (falta de conhecimento)... kkk.. se estiver consumindo seu tempo, fique a vontade para simplesmente não me responder mais. não quero atrapalhar. cito você em minhas perguntas porque, até então, é a única pessoa que tem me respondido.. mas corrija-me se quiser e se estiver errado: a cont.ses e a somarproduto NÃO fazem a mesma coisa nesse caso. Veja, vou exemplificar, pois acho que não estou sendo claro: A B C DATA Natureza do processo Responsável 04/01/16 HC JOÃO DA SILVA 05/01/16 MS FRANCISCO LEITE 06/01/16 HC JOÃO DA SILVA 07/01/16 RSE JOSÉ FONSECA 07/01/16 MS FRANCISCO LEITE Eu queria que a fórmula me indicasse, por exemplo, quantos HC o JOÃO DA SILVA recebeu em JANEIRO/2016. Pelo que entendi da planilha que você mandou, a fórmula somarproduto não permite a conjugação de critérios de TEXTO, mas, apenas números, a fim somar valores. Por isso, até então, estou utilizando a CONT.SES... No que se refere às funções MES() e ANO(), o problema é usá-la com a CONT.SES e explico porque... Pelo que percebi, a CONT.SES varre linha por linha e, nas colunas indicadas, varre por um critério.. então tem-se o seguinte: =CONT.SES(Intervalo de coluna;critério), como, por exemplo: =CONT.SES(Ax:Ay,Teste;Cx:CY;Testando); aí está o problema... como inserir MES e ANO nesse contexto, considerando, ainda, que ANO retorna um valor absoluto que, de 01/01/2016 e 01/01/2017, é o mesmo "1900"? fiz um teste simples, mesmo assim, e não deu certo: =CONT.SES(Manifestações!AN1:AN9971;A41;Manifestações!P1:P9971;"ac";ANO(Manifestações!C1:C9971);1900). O Excel nem deixa salvar essa fórmula. Mesmo que coloque a referência em outra célula ou o que quer q seja. Estou sem ideias, meu amigo.
  7. Caro @CasaDoHardware, infelizmente não deu certo, mesmo com referência a uma célula externa. Acredito que as funções SOMARPRODUTO e CONT.SES não utilizem o mesmo raciocínio. Na CONT.SES não indico nenhuma célula específica como parâmetro. O excel que, dentro do intervalo indicado, varre linha por linha linha e verifica se em cada coluna os valores coincidem. Utilizei a forma CONT.SES em outro campo da planilha e está funcionando adequadamente. O problema foi com números.. mais precisamente com a data.. a CONT.SES aceita coringa (*) para se referir a parte do texto, mas não consegui fazer ela se referir a parte da data. Queria apenas que ela verificasse se 01/2016, por exemplo, está contido em 06/01/2016 (linha varrida: Cx), mas a fórmula não consegue entender isso. Acho que o erro é utilização do coringa e de números e barras (/). Acho que o excel entende como se fosse uma fórmula matemática de multiplicação, divisão etc, não sei se estou errado. Sei que a fórmula funciona porque se utilizo um dado específico, como a data completa, 06/01/2015, 07/01/2016, etc, o excel identifica direito: "=CONT.SES(Manifestações!AN1:AN9971;A41;Manifestações!P1:P9971;"ac";Manifestações!C1:C9971;"*01/2016*")" Detalhe, não me oponho em colocar o parâmetro em outra célula, até seria bom, porque, ano a ano, só vou modificar o ano mesmo (2016, 2017, 2018...). Os meses ficam inalterados. Terá uma planilha de janeiro, fevereiro, depois uma bimestral, somando as duas ultimas, e aí vai...
  8. Meu amigo @CasaDoHardware, não consegui adaptar sua fórmula, pois acredito que a fórmula SOMARPRODUTO pede uma informação que não tenho na CONT.SES, que é a descrição exata da coluna e linha. Acho que não expliquei direito, mas a fórmula que eu colei em cima procura linha após linha da planilha a existência de 3 condições: mesma pessoa, mesmo rito do processo e determinado mês/ano; O problema que estou tendo é para que a fórmula verifique se o mês/ano indicada está contido na coluna C. Cada linha da coluna C contém uma data. Assim, por exemplo: Coluna C 06/01/2016 FULANO HC 07/01/2016 BELTRANO HC A fórmula que configurei foi assim: "=CONT.SES(Manifestações!AN1:AN9971;A41;Manifestações!P1:P9971;"ac";Manifestações!C1:C9971;"*01/2016*")" Acho que o erro está em "*01/2016". Acredito que o excel está interpretando como se fosse uma divisão, fração ou algo assim, pois se eu preencho a data inteira, como, p. exemplo, 06/01/2016, a fórmula conta exatamente quantos processos de determinada pessoa, com tal rito, deram entrada em 06/01/2016. Mas quando coloco "*01/2016", para que qualquer dia do mês de 01/2016 seja considerado, o resultado é 0.Se coloco qualquer outra condição no terceiro campo, como, por exemplo, uma determinada palavra, dá certinho. O problema é o coringa ("*") com o mês/ano, que está dando alguma confusão.
  9. Meu caro amigo, @CasaDoHardware, bom dia. Primeiramente, muito obrigado pela paciência e vontade em repassar conhecimento. Que bom que não estou atrapalhando. Peço desculpas, mas sou metódico. Vou mexendo nas coisas até aprender. Estou quase entendendo toda sua fórmula. Ainda chego lá. Hoje consegui fazer com que ela copie a linha, mesmo com células mescladas. Acho que vou conseguir fazer o que quero e adaptar para outros propósitos. Só tenho uma dúvida que não é relacionada ao assunto, mas, como notei que você é um expert em Excel, acho que consegue me ajudar fácil fácil: estou utilizando a fórmula CONT.SES para contar alguns parâmetros. Contudo, não consegui fazer com que ela identifique PARTE de uma DATA, mais precisamente o mês e ano. A linha foi configurada assim: "=CONT.SES(Manifestações!AN1:AN9971;A41;Manifestações!P1:P9971;"ac";Manifestações!C1:C9971;"*01/2016*")" Queria que a fórmula verificasse se a data corresponde ao mês de 01/2016. Se coloco a data completa, como, por exemplo, 05/01/2016, a fórmula funciona perfeitamente. Mas se coloco *01/2016, não se encontra nada. Alguma ideia? Obrigado mais uma vez.
  10. @CasaDoHardware, boa tarde, amigo. Espero não estar lhe incomodando muito. Conforme recomendado, estou assistindo a vídeos no youtube sobre o assunto. Muitas coisas já se esclareceram. Consegui "transpor" o código para minha planilha e adaptei as necessidades que tenho. Só um único problema na transposição: a seguinte linha não funciona " With Selection .PasteSpecial Paste:=xlPasteValues", retornando o seguinte erro: "Erro em tempo de execução '1004': Não podemos colar porque a área copiar e a área de colagem não são do mesmo tamanho. Tente uma das seguintes opções: * clique em uma única célula e cole. * selecione um retângulo que seja do mesmo tamanho e cole." Quando removo essa linha, por lógico, ele não copia para outra sheet, mas informa o número de processos exato, o que indica que a fórmula está funcionando. No código enviado, fiquei sem compreender esta linha: " Range("C1048576").End(xlUp).Select" Em linhas gerais, o que seria essa numeração C1048576? Um forte abraço. Não incomodarei mais. Resolverei o resto sozinho e obrigado.
  11. @CasadoHardware, atende sim, meu amigo. Muito obrigado. Estou apenas tentando entender o código, pois a única "linguagem" de "programação" que conheço é a do mIRC (mirc scripting), que é muito diferente dessa. Sem querer abusar, se puder indicar onde posso me familiarizar com os códigos, agradeço. De qualquer forma, um forte abraço. Vou bater cabeça aqui até entender pelo menos como transpor para minha planilha real. * Resolvi editar apenas para informar que já entendi boa parte do código. Não parece ser muito complicado. Só preciso me familiarizar com a linguagem. Só encontrei apostilas e sites complicadores. Você fez tudo parecer simples. Espero que esteja correto na minha impressão. Um abraço. Obrigado. ** Não consegui salvar em outra planilha: "Os recursos a seguir não podem ser salvos em pasta de trabalho sem macro: * Projeto do VB Para salvar um arquivo com esses recursos, clique em Não e escolha um tipo de arquivo habilitado para macro na lista Tipo de Arquivo. Para continuar salvando como pasta de trabalho sem macro, clique em Sim
  12. Amigo, bom dia. Um modo mais simples de se conectar através do seu novo roteador é seguinte: conecte um cabo de rede em alguma porta LAN do roteador da fibra e ligue-o na porta WAN do seu roteador multilaser. Certifique-se, apenas, sobre o conflito de IP, tentando faixas diversas no multilaser (192.168.0.*; 192.168.1.*; 10.0.0.*). Ative o DHCP do multilaser e pronto, isto deve resolver.
  13. Meu caro amigo, @CasaDoHardware, e demais colegas. Bom dia. Segue a planilha de exemplo. Buscando esclarecer, o que gostaria que a planilha fizesse automaticamente era: na aba "movimentações" são lançados os processos e os responsáveis. Como se percebe, criei 4 pessoas fictícias: JOÃO DA SILVA, BENEDITO DA SILVA SAURO, ALDEBARAN DE TOURO e JOSÉ LUIS DATENA. Gostaria que conforme fossem sendo atribuídos processos a cada um deles na aba "movimentações", a linha inteira fosse "copiada" para a aba correspondente. Por exemplo, se adicionei um processo à JOÃO DA SILVA na aba movimentações, a linha seria adicionada à aba JOÃO DA SILVA. Se removi um processo do BENEDITO DA SILVA SAURO e passei pro ALDEBARAN DE TOURO, que o processo saia da aba BENEDITO DA SILVA SAURO e seja lançado em ALDEBARAN DE TOURO. Amigo, como disse, não sou um expert em excel, mas gosto muito de aprender. Não precisa mastigar tudo, embora não reclame se me ajudar em excesso. Gostaria de aprender para poder editar e fazer outras fórmulas nesse sentido. Agradeço se me for indicado sites ou materiais onde possa aprender esses comandos. Um forte abraço e obrigado pela atenção. Clube do Hardware.xlsx
  14. Prezados colegas, bom dia. Utilizo bastante o Excel, mas, até então, nenhum uso muito avançado. Diria que tenho um conhecimento intermediário e, geralmente, o que não sei consigo resolver através de pesquisa na internet. Contudo, não consegui fazer o seguinte: criei uma planilha para controle de processos no órgão em que trabalho. Em uma das abas, adiciono os processos e quem irá movimentá-los (a pessoa é selecionada em uma lista suspensa [validação de dados]). Em uma outra aba, é emitido o relatório numérico de processos por pessoa, classificados pela natureza da ação, por meio da fórmula CONT.SES; contudo não consegui fazer o seguinte: queria que o EXCEL copiasse os dados de toda a linha para uma outra planilha, de acordo com a pessoa escolhida. Exemplo: 1ª LINHA Entrada Saída Tempo de tramitação Processo Responsável 2ª LINHA 20/12/2015 25/12/2015 5 dias 1500/2015 FULANO DA SILVA 3ª LINHA 21/12/2015 26/12/2015 5 dias 1501/2015 BELTRANO SANTOS 4ª LINHA 22/12/2015 30/12/2015 8 dias 1502/2015 CICRANO SOARES Assim, quando eu selecionasse FULANO DA SILVA, a linha 2 seria copiada para a planilha com o nome dele; quando selecionasse BELTRANO SANTOS, a linha 3 seria copiada para planilha com o nome dele, e assim por diante, de modo que eu pudesse imprimir, por pessoa, todos os processos que foram adicionados em outra aba; se não fosse exigir demais, seria bom também que a planilha automaticamente removesse e adicionasse no lugar certo os dados que fossem alterados: vamos supor que, por exemplo, o processo X foi atribuído, inicialmente, a FULANO DA SILVA e depois alterado para BELTRANO SANTOS; Alguma luz? Obrigado e um feliz ano novo. Não preciso que mastiguem pra mim. Lógico que se fizer, não vou reclamar, mas aceito também links específicos onde possa aprender a fazer isso sozinho. Um forte abraço.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...