Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    844
  • Cadastrado em

  • Última visita

Tudo que Edson Luiz Branco postou

  1. Mais uma: Tendo atribuído todos os botões à mesma macro "AtualizaEstoque": Sub AtualizaEstoque() Dim oper As String: oper = Application.Caller Dim rg As Range: Set rg = ActiveSheet.Shapes(oper).TopLeftCell.EntireRow rg.Columns("I") = rg.Columns("I") + rg.Columns("B") * ((oper Like "Menos*") - (oper Like "Mais*")) rg.Columns("B").ClearContents 'Apaga o valor após a operação algébrica End Sub
  2. Ao invés de vírgula, o Excel em português do Brasil utiliza ponto-e-vírgula como separador para os argumentos das funções.
  3. Some 1 à referência B2 do último trecho de sua fórmula, @Sobreira : &DATADIF(A2;B2+1;”md”) &” dias”
  4. @Andreza Santos, tentou ativar a Planilha3 antes de executar o método Add, como eu havia dito para o outro colega? Faça um teste: Planilha3.Activate
  5. Bom dia, @rosanezane! Pra facilitar, anexe seus 2 arquivos com uma amostra dos exemplos, digamos uns 10 registros, de como está sua base de dados (Excel) e o documento inicial/principal da M.D. (Word). Se necessário, elimine ou distorça informações confidenciais. Como sua demanda é semelhante à do colega @wesley.elias acima (e outras) que também me contatou via Linkedin, vou ver ambos os tópicos neste fim de semana. Obs.: colegas, por falta de tempo tenho contribuído com os fóruns menos do que o desejado... vão desculpando aí...
  6. Se você quer apenas verificar os arquivos no próprio Windows Explorer (sem salvar numa lista), estando na pasta raiz de seu HD externo, entre na caixa de pesquisa (canto sup. direito) e digite: DataDeModificação:>=15/03/2022 Ou, alternativamente,: System.DateModified:>=15/03/2022 ------------------- Quando a pesquisa é mais complexa eu gosto muito de usar o Everything da VoidTools, um aplicativo pequeno e gratuito, muito rápido e poderosíssimo para pesquisar arquivos no PC. A lista pode ser gerada nele mesmo.
  7. Pois é, a fórmula que sugeri faz exatamente isso com a coluna L. você chegou a testar como foi dito? Finalizou com CTRL SHIFT ENTER? Teste_Formulario.xlsx
  8. Uma sugestão: Na célula L6 da planilha RFNF024 insira a fórmula: =SE(B6="NFE";ÍNDICE($B$5:$K6;MÁXIMO(($B$5:$B6="Cliente:")*(LIN($B$5:$B6)-LIN($B$5)+1));2);"") É uma fórmula matricial, portanto se seu Excel for de versão inferior ao 365, insira a fórmula mas não finalize com ENTER e sim com CTRL SHIFT ENTER. Arraste até o final do intervalo.
  9. Boa tarde colegas. você tb pode usar Formatação Condicional para essa finalidade: Defina 4 regras de Formatação Condicional tipo Fórmula, todas aplicadas ao intervalo $B$6:$M$6: Para a cor VERDE: =MOD(QUOCIENTE($A$1+1;3);4)=0 Para a cor AZUL: =MOD(QUOCIENTE($A$1+1;3);4)=1 Para a cor VERMELHO: =MOD(QUOCIENTE($A$1+1;3);4)=2 Para a cor AMARELO: =MOD(QUOCIENTE($A$1+1;3);4)=3 Significado dos outros termos das fórmulas: Ajusta para que o primeiro valor comece na cor certa =MOD(QUOCIENTE($A$1+1;3);4)=0 De 3 em 3 dias: =MOD(QUOCIENTE($A$1+1;3);4)=0 4 valores de retorno = 4 cores =MOD(QUOCIENTE($A$1+1;3);4)=0 DúvidaGeneciCdoHFormataçãoCondicional.xlsx
  10. Vá em Arquivo > Opções > no lado esquerdo clique na opção "Geral" e no painel direito role até a última seção ("Opções de Inicialização"). Desmarque a opção "Mostrar a tela de início quando este aplicativo for iniciado"
  11. Muito boa sua iniciativa, @Fernanda de Freitas Melro Corrêa! Ficou muito bem ilustrado e didático, parabéns! (só faltou citar o fórum CdoH como fonte...)
  12. @daviddatal, gentileza anexar algum arquivo para formarmos uma ideia do seu problema.
  13. Boa noite, @Fernanda de Freitas Melro Corrêa! Desculpe a demora, não tive tempo de responder antes. Esse é um mal-funcionamento do Word e para contorná-lo você vai ter de fazer uma condicional "de mentirinha" pra forçá-lo a carregar a imagem quando muda o nome do arquivo. Então ao invés do código de campo: { IncludePicture { Mergefield "Picture_folder__file" } } Use dessa forma: { IncludePicture { If True { Mergefield Picture_folder__file } } \d }
  14. Top! Obrigado pela dica, @Lusitano. O mestre Baboo sempre surpreendendo e sempre com ótimas e simples soluções no que se refere ao Windows. Ok, vou seguir as instruções do tópico assim que houver um tempo (e espaço em mídia) pra fazer um backup completo de meus arquivos. Grato novamente.
  15. Boa noite pessoal Normalmente quando preciso fazer uma limpeza mais profunda dos temporários, acesso as pastas correspondentes através de Win+R %temp% e Win+R temp para acessar rapidamente as pastas C:\Users\MeuUserName\AppData\Local\Temp e C:\Windows\Temp respectivamente. Como já estava com o Windows Explorer aberto, digitei %temp% ali mesmo e abriu corretamente a C:\Windows\Temp, como era de se esperar. Entretanto, qual não foi minha surpresa quando digitei somente temp na barra de endereços do Windows Explorer e ao invés da pasta temporária, abriu o navegador padrão e acessou diretamente um site pornô (xvideos). Detalhes: Tenho antivírus atualizado (ESET Internet Security); Fiz varredura completa e nenhuma ocorrência; O problema também ocorre se altero o navegador padrão para outro; Limpei todos os cookies ; Fazendo uma busca por "temp" no registry não encontrei nada anormal, as associações estão ok; Fazendo uma busca por termos do url indesejado no registry também nada encontrei; Se entro com essa expressão temp na barra do navegador, abre corretamente a pesquisa do Google referente à palavra chave e não o site indesejado; Não consigo achar onde é feita essa associação ou onde ocorre esse link. O que sugerem?
  16. Bem vinda ao fórum, @Roseli! Mas "Ticket" também é um campo de mala direta, tal como "Nome" é? Se sim, bastaria você inserir mais uma linha naquele trecho para concatenar as 2 informações: ... ... nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("Nome").Value 'Acrescentar esta linha: nomeArquivo = nomeArquivo & ActiveDocument.MailMerge.DataSource.DataFields("Ticket").Value ... ... Se não for isso, anexe seu arquivo aqui no fórum zipando-o primeiro.
  17. Boa noite, @deejaywesley, @Vics Ao que me consta as funções ÉÍMPAR e ÉPAR não são matriciais e não admitem trabalhar com intervalos, apenas com um valor por vez, portanto a função MOD descrita pelo colega @Vics nesse caso parece ser a melhor opção. Supondo que os valores estejam em A2:A50, para listar os menores ímpares insira na célula em C2 a matricial (finalize c/ CTRL SHIFT ENTER se Excel <365) e depois arraste até não aparecer mais números: =SEERRO(MENOR(SE(MOD($A$2:$A$50;2);$A$2:$A$50;"");LINS(C$1:C1));"") Da mesma forma, para os pares, use a mesma fórmula, só intercambie a posição do argumentos dos critérios Verdadeiro e Falso na SE: =SEERRO(MENOR(SE(MOD($A$2:$A$50;2);"";$A$2:$A$50);LINS(C$1:C1));"") Lembre-se que não pode haver texto no intervalo na coluna A pois geraria erro. Caso exista, tem que alterar a fórmula pra levar isso em conta. Lembre-se também que células vazias no intervalo serão consideradas como zero, que contaria como um número par.
  18. Se for somente este o problema, basta qualificar o range com o nome da planilha. Algo assim: Worksheets("NomeDaAba").Range("A1").Value = Worksheets("NomeDaAba").Range("A1").Value + 1
  19. Boa noite, @Daniel.f.Oliveira O problema em sua Pasta de Trabalho Excel está principalmente na planilha "Obras em andamento". No anexo que você denominou como "lento" existem mais de 50.000 objetos tipo Caixas de Texto (TextBox) e por serem pequeninas e transparentes ficam invisíveis e acabam por não ser notadas por sua equipe. Só na célula AZ58, por exemplo, existem mais de 7000 delas empilhadas umas sobre as outras na mesma posição. Veja na imagem abaixo, à esquerda dois exemplos das tais caixinhas e à direita a exibição do painel de seleção de objetos (guia Página Inicial > grupo Edição > botão Localizar e Selecionar > Painel de Seleção) : Provavelmente alguém ou todos de sua equipe estejam copiando e colando à partir de documentos da internet ou de PDF's e esse lixo acaba vindo junto. Mesmo aquele segundo arquivo que você anexou e nomeou como "Normal" ainda assim lá tem mais de 7000 desses objetos. Para selecionar e apagar todos de uma vez, tecle F5 > "Especial..." e selecione a opção "Objetos" e OK (vai demorar um pouco). Feito isso, pressione Delete (vai demorar ainda mais, hehehe). Salve o arquivo e reabra. Outro problema que você terá que rever é refazer periodicamente as regras de Formatação Condicional. Esse é um problema antigo do Excel e muito frustrante, além de poder levar a interpretações errôneas de seus dados. Quando você copia, cola, insere/remove linhas ou intervalos em trechos em que está vigorando alguma F.C., o Excel quebra, fragmenta, replica, altera, faz os escambaus com suas regras de FC e em pouco tempo você terá uma multidão de regras também sobrepostas, redundantes e conflitantes e se não fizer manutenção frequente nelas em pouco tempo elas podem deixar de ser confiáveis além de também deixar sua pasta de trabalho lenta (veja p. ex. uma discussão à respeito em Excel - formatação condicional - inserir linha). você pode comprovar isso em seus arquivos: na planilha "Obras em andamento", na guia Página Inicial > grupo Estilos > botão Formatação Condicional > Gerenciar Regras..., sob "Mostrar regras de formatação para" selecione "Esta Planilha" e veja como estão todas fragmentadas suas regras de FC. Fazendo uma contagem, só nessas pouco mais de 360 linhas de sua tabela existem 3173 regras. Não cheguei a analisar mas provavelmente umas 10 ou 20 regras em seu caso seriam efetivamente as que comandam seus dados. Gosto muito de usar FC, mas nos arquivos mais sérios sempre aplico uma macro pra limpar e refazer as FC's.
  20. Bem vindo ao fórum, @Ricardooes Não sei como está estruturada sua planilha, mas uma função que poderia lhe ser útil seria a função CÉL("largura";A1). Quando a coluna A for ocultada, A1 terá largura zero e portanto também o retorno da função. Atenção apenas ao fato de que, além da função ser não-volátil (embora isso seja contornável), o ato de ocultar colunas não dispara nenhum evento de recálculo, portanto o valor poderá ficar congelado após a coluna ser ocultada, até que algum recálculo ocorra. E por que não proteger a planilha com senha, desmarcando a opção de possibilitar "Formatar Colunas"? Isso impede que o usuário altere a largura ou oculte a coluna.
  21. Tem certeza? Era pra ter parado. Atenção ao fato que nessa janela do Word onde configura essa opção tem duas abas com nomes bem parecidos e ambas têm essa opção pra poder habilitar/desabilitar. Uma é a guia "Formatação Automática ao Digitar" e a outra é só "Formatação Automática". Você deve desabilitar na primeira, na que diz "...ao Digitar", a opção "Hifens (--) por traço (-)".
  22. Como uma orientação ao colega @daviddatal, já que ele está em processo de aprendizagem de VBA, se fosse lhe dar um conselho diria que sua primeira fonte de pesquisa é o Help do VBA relativo ao próprio VBA ou às classes de objetos que você está manipulando, como o aplicativo Excel, por exemplo (bons tempos aqueles em que o help não era online, a pesquisa era muito mais simples e certeira). Senão vejamos: em sua primeira pergunta anteriormente, Se você der uma olhada no help para o método Replace do objeto Range do Excel, lá mostra qual o retorno desse método: Então a variável c1 usada pelo colega @Muca Costa conterá um valor True ou False, dependendo do retorno da operação de substituição. Na verdade nesse caso seria dispensável, pois você não utilizará esse retorno mais à frente em seu código. Então, lembrando de retirar os parênteses, poderia usar apenas: Cells(repete, "B").Replace "iii", "kkk", xlPart Lembrando que os Métodos em VBA executam alguma coisa e se assemelham a uma Sub, portanto nem sempre precisamos utilizar seu retorno, embora algumas vezes isso pode ser muito útil. Por exemplo, você pode simplesmente abrir um arquivo Excel usando o método Open dessa forma: Workbooks.Open "Teste.xlsx" Por outro lado, você pode aproveitar que está abrindo e já colocar o Workbook que vai ser aberto numa variável de objeto pra ser usada mais à frente em seu código: Dim wb As Workbook 'ou As Object Set wb = Workbooks.Open("Teste.xlsx") Atenção novamente ao uso dos parênteses quando você está fazendo atribuição. _________________________ Quanto à pergunta: A biblioteca Microsoft Scripting Runtime presente na dll scrrun.dll é que fornece a classe FileSystemObject, a qual é muito útil para manipular arquivos e pastas em unidades de disco. Portanto, ao criar uma instância dessa classe como na instrução acima, você está criando um objeto para manipular arquivos, seja para mover, renomear, criar, deletar, recuperar informações de tamanho, tipo, atributos e tudo o mais que refere-se a arquivos e pastas. Tenha em mente que isso está num objeto externo ao Excel e ao VBA, uma ferramenta à mais que está ali, disponível para uso para essa finalidade.
  23. Que eu saiba, infelizmente isso não é possível numa mesma linha. Tudo que estiver à direita do início do comentário é também tratado como comentário, com exceção do underline de continuação na outra linha (você pode quebrar o comentário com o _ como fazer normalmente em outros pontos do código).
  24. Boa tarde, @daviddatal O Solver presente no Excel pertence à Frontline Inc. cujo suplemento SOLVER.XLAM não é de código aberto. Por pertencer à terceiros, portanto não é legalmente possível sua visualização. Entretanto, você pode utilizar todos os métodos, funções, objetos dele no VBA. Mas para isso, tem de fazer referência ao projeto: No VBE, menu Ferramentas > Referências > procure por e marque Solver. À partir de então, já pode usar os objetos normalmente, ex. Solver.SolverAdd(... , ...) ou simplesmente SolverAdd(... , ...) etc.
  25. Tirou a outra linha também? Anexe o arquivo, fica mais simples de lhe ajudar, @magnosalmeida

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!