Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    840
  • Cadastrado em

  • Última visita

Tudo que Edson Luiz Branco postou

  1. Bom dia conterrâneos @G7 log e @Eder Neumann O arquivo não está corrompido. Se você analisar a estrutura XML do arquivo, verificará que na verdade ele não está em nenhum dos formatos do Excel, mas sim que é um Open Document Format for Office Application (ODF, do consórcio OASIS). Para SpreedSheets, a extensão correta é ODS. Então é só alterar a extensão manualmente, no Windows Explorer para .ods e o arquivo abrirá normalmente no Excel. Depois salve como um dos formatos Excel tradicionais se desejar.
  2. @vander2032 por gentileza, anexe um arquivo com o que você já tem preparado, pois fica muito mais fácil pra podermos testar as fórmulas.
  3. bem vindo ao Clube do Hardware, @vander2032 sugestão: =LIN(INDIRETO(SUBSTITUIR(FÓRMULATEXTO(A1);"=";"")))
  4. Agradeço a consideração, @Max Sacramento Quanto aos livros, pra te dizer a verdade faz tempo que não os adquiro mais, pois geralmente hoje encontro o que preciso na net mesmo. E dependendo da aplicação que você dá ao programa e do nível em que você se encontra - se na área financeira, científica, big data, organização do dia-a-dia, se o foco é programação, se é iniciante ou avançado - recomendar genericamente uma obra pode não ser útil ao que se destina, enfim. Mas como seu foco atual parece ser em fórmulas, um que comprei (há bastante tempo, é verdade) e que gostei muito foi o do Mike "ExcelIsFun" Girvin: CTRL+SHIFT+ENTER - Mastering Excel Array Formulas (aprox. 350 pgs.). O foco nele é o entendimento das fórmulas matriciais com muitos macetes interessantes. Também sobre fórmulas, um bem completo (em torno de 850 pgs.) é o Excel xxxx Fórmulas, onde xxxx é a versão do Excel, do conhecido trio de MVP's Michael Alexander, Dick Kusleika e John Walkenbach. Com relação À minha aprendizagem inicial em planilhas, foi ainda quando os manuais impressos vinham numa enorme caixa junto com o disquete de instalação (ótimos tempos... - ainda conservo alguns deles). Como não havia "hiperlink" no livro (rsrsrs) , era só seguir o fluxo de ideias capítulo por capítulo. Depois vieram os manuais eletrônicos, que embora facilitassem a busca prejudicavam a sequência e agora essa porcaria de documentação on-line, prolixa: traz tudo, menos o que você procura. Isso quando os links já não estão quebrados pouco depois de terem sido criados. Mas o ideal ainda é saber fazer uma boa pesquisa nos mecanismos de busca, usando a pesquisa avançada, para acertar na mosca o que você deseja procurar para aprender.
  5. Sim, @Bikke, pode ser que fique esteticamente melhor mesmo. Só lembrando que para o Excel em português do Brasil, a função equivalente seria PRI.MAIÚSCULA.
  6. Acredito que seja o mesmo problema de seu outro tópico, correto? Veja a resposta em
  7. Boa noite, @Max Sacramento Isso acontece porque o Excel não diferencia em fórmulas uma célula vazia de uma fórmula com valor 0 e o valor 0, quando convertido à data, corresponde ao dia 00/01/00 cujo mês, como se pode ver, é janeiro. Por isso o mês de janeiro acaba sendo contado indevidamente na fórmula. Para contornar isso, substitua o algarismo 1 que está logo após o parênteses de abertura da SOMARPRODUTO por ($A$2:A2<>"") . Essa expressão booleana multiplicará por zero o retorno da função MÊS caso a célula esteja vazia. Então substitua: =SE(A2="";"";TEXTO(A2;"mmmm")&TEXTO((MÊS(A2)-1)*300+SOMARPRODUTO( 1*(MÊS($A$2:A2)=MÊS(A2)));" 0000")) Por: =SE(A2="";"";TEXTO(A2;"mmmm")&TEXTO((MÊS(A2)-1)*300+SOMARPRODUTO( ($A$2:A2<>"") *(MÊS($A$2:A2)=MÊS(A2)));" 0000"))
  8. Copie e cole o código para a janela de código da planilha correspondente (botão direito na aba > Exibir Código). Importante: Esqueci de eliminar mais um lixo de programação: na rotina Sub ClassificarPorPatentes() elimine por gentileza a linha Set rgTbl = [A1].CurrentRegion pois está duplicado. O range já foi definido no evento Change logo acima. Ao salvar, lembre-se de salvar como "Pasta de Trabalho Habilitada para Macro do Excel (*.xlsm)" Se essa sua outra planilha tiver cabeçalho de colunas na primeira linha, altere também a linha: .Header = xlNo para .Header = xlYes Se sua tabela não começa na A1, altere na linha Set rgTbl = [A1].CurrentRegion no procedimento Worksheet_Change trocando [A1] por uma célula qualquer de sua tabela, preferivelmente a do canto superior esquerdo.
  9. Chegou a testar habilitando as macros o arquivo que enviei anteriormente? Para alterar para classificar em seguida pelo nome é bem simples. No código, altere a seguinte linha: .SortFields.Add Key:=rgTbl.Columns(1), Order:=xlAscending Para: .SortFields.Add Key:=rgTbl.Columns(3), Order:=xlAscending
  10. A que está nas colunas J:L é lixo que esqueci de apagar pode deletar (vai desculpando). Pra fazer classificação automática sobre os próprios dados só com VBA, não por fórmulas. você pode ver o código se clicar com o botão direito sobre a "orelha" da planilha e escolher "Exibir código". Um detalhe importante: ao abrir um arquivo com macro a primeira vez, o Excel exibe um "Aviso de Segurança - As macros foram desabilitadas". Tem que clicar para aceitar "Habilitar Conteúdo" para que o código funcione. Se você aceitou habilitar as macros, insira novo registro ou edite um existente no intervalo da tabela ou em nova linha logo abaixo, ou delete qualquer linha ou valor para que a classificação aconteça. Obs.: Levei em conta que a primeira chave de classificação é a coluna da patente militar e a segunda é o código (1ª coluna), não o nome, ok? Passo-a-passo: Criar nova lista: Para facilitar a digitação, insira num intervalo vazio qualquer de uma planilha a sequência completa de patentes, da menor para a maior, de preferência tudo em letras minúsculas (pra ficar padrão como nas listas do Excel); Na guia Arquivo > Opções > na coluna esquerda escolha Avançado > no painel à direita role até o a categoria "Geral" (bem embaixo) e clique no botão "Editar Listas Personalizadas..."; Clique na seta ao lado esquerdo do botão Importar e na sua planilha selecione o intervalo com as patentes; Após selecionar, clique novamente na setinha ou dê Enter pra voltar pra caixa de diálogo; Clique no botão "Importar"; Já pode deletar a lista provisória que foi digitada na planilha. Classificar segundo a nova Lista Personalizada: Estando com a seleção dentro de sua tabela (ou selecionando a tabela previamente), na guia Página Inicial, grupo Edição, clique no botão "Classificar e Filtrar"; Escolha "Classificação Personalizada..."; Em Classificar por, escolha "Coluna B"; Em Classificar em, deixe "Valores das Células"; Em Ordem é que está o pulo do gato: escolha "Lista Personalizada..."; Escolha a Lista que foi criada na etapa anterior. Clique novamente em Ordem e escolha a forma descendente de classificação (a que começa com "cel pm, ten cel pm, ..."); Como há valores repetidos nessa coluna, para que a tabela seja classificada também logo em seguida pelo código, clique no botão "Adicionar Nível"; Na nova linha que aparece, em "E depois por" escolha "Coluna A" e na sequência "Valores das Células" e "Do menor para o Maior"; Clique em OK. Obs.: Essa configuração fica ativa (salva) para as classificações seguintes, então não é necessário repetir todo esse procedimento novamente. A desvantagem em relação ao código do VBA é que a classificação só ocorre quando você clica em Classificar, não é automática ao alterar/inserir novos valores na tabela.
  11. Bom dia @Keu Borges e @TygaBr56 Pra fazer automático assim que lança ou elimina dados, a solução penso que seria somente através do VBA (vide anexo). De qualquer forma, sempre quando se têm listas com ordens de classificação personalizada que não seguem a ordem alfabética como a sua, de hierarquia militar, ou outras como filiais de empresa, tamanhos de roupa, diâmetros de tubulação, etc., o Excel oferece o excelente recurso Lista Personalizada que você pode usar na classificação manual também. O Excel já traz 4 listas pré-definidas, 2 para os dias da semana (seg, ter, ... e segunda-feira, terça-feira, ...) e 2 para os mêses (jan, fev,... e Janeiro, fevereiro, ...), mas você pode definir suas próprias listas. Uma característica importante a ser levada em conta quando envia o arquivo a outras pessoas é que elas não vão junto com a Pasta de Trabalho Excel, mas sim ficam no aplicativo. A solução anexa não usa Lista Personalizada para a hierarquia, mas sim uma variável no próprio código, embora possa ser alterado para tal. Ordem alfabética automaticaEdsonBR.zip
  12. Além dos passos que descrevi anteriormente para a TD, em cada Slicer altere o seguinte: botão direito sobre cada um deles; escolha "Configurações da Segmentação de Dados..." e no lado direito em baixo escolha "Ocultar itens sem dados". Atualize a TD/Segmentação de Dados. Planilha_segmentação_dados_erro.xlsx
  13. Tem como anexar seu arquivo aqui? Se contiver macros, precisa ser zipado pro site aceitá-lo.
  14. Bom dia amigos! O Excel preserva na Tabela Dinâmica (na verdade no Cache Dinâmico da TD) itens já excluídos, que acabam ficando como fantasmas em filtros e relatórios, segmentação, linha do tempo, gráficos... Nunca consegui imaginar uma aplicação prática em que se poderia usar esses dados "mortos" , mas enfim. Para removê-los: Em qualquer célula dentro da TD, clique com o botão direito e escolha Opções da Tabela Dinâmica...; Na guia Dados, na seção "Reter itens excluídos da fonte de dados", sob "Número de itens retidos por campo" escolha "Nenhum"; Atualize a TD e se necessário também o Slicer; Feito isso, os fantasmas devem já ter sido exorcizados hehehe
  15. Boa noite, @João Carlos Júnior Os nomes das planilhas na pasta de trabalho Consolidado.xlsx (B.P. Ativo, B.P. Passivo, DR, DRA, etc.) não são condizentes com as das pastas de trabalho individuais das Empresas (DF Cons. - Ativo, ... DF Cons. - Resultado Período, DF Cons. - Demonstração de Va, etc.). Quem corresponde a quem? Também quanto às contas, a maioria das que estão nos arquivos individuais de empresa não têm a correspondente na Consolidado. Só como um exemplo, as contas Aplicações Financeiras Avaliadas a Valor Justo, Títulos para Negociação, Títulos Disponíveis para Venda e mais 30 outras contas, presentes na planilha DF Cons. - Ativo, não tem a sua correlata na B.P. Ativo (que suponho ser a equivalente) ou em quaisquer outras planilhas que estão na Consolidado. Ou contas que estão com a descrição repetida na mesma planilha, mas com códigos diferentes, como por exemplo, no já referido arquivo individual e na planilha DF Cons. Ativo, a conta "Ativos Biológicos", ora com código 1.01.05 e ora com código 1.02.01.06 (e outras 26 contas com esse comportamento). E como na consolidada só há descrição de conta e não há código, tem que haver um modo de desambiguar. Revise seu pedido com cuidado e precisão pois errar logo no começo num projeto desse porte dará muito retrabalho logo à frente e, pela natureza do trabalho voluntário num fórum tira-dúvidas como esse, dificilmente alguém se engajaria em repetidas revisões de código por essas indefinições.
  16. Dá pra fazer manualmente em 5 passos: Selecione o intervalo B4:B30 Tecle F5 > botão Especial ...(Ir Para Especial) ou vá na guia Página Inicial > grupo Edição, clique no botão Localizar e Selecionar e escolha Ir Para Especial... > e escolha a opção "Em branco" Na célula que ficou ativa (B5), digite a fórmula = B4 (que é a célula acima) Não finalize com ENTER, mas com CTRL ENTER e está feito. Para eliminar as fórmulas que agora não serão mais necessárias, copie todo o intervalo e cole em cima dele mesmo com a opção Colar Valores Opcionalmente, se quiser por fórmula, insira em E4: =SE(B4="";B3;B4)
  17. Pra ser por fórmula, não daria pra ser em cima do mesmo intervalo, senão os dados seriam consumidos/substituídos pela própria fórmula. Teria que ser ou em outras colunas ou numa nova planilha. Usando o VBA como o colega @AfonsoMira sugeriu já não teria esse problema. Aí vai um exemplo com fórmulas (obs.: são fórmulas matriciais de 3 colunas de cada linha. Portanto, ao inserir, selecione as 3 células da linha, insira a fórmula na primeira célula e finalize com CTRL SHIFT ENTER se seu Excel for anterior ao 2019/365). Copetti Geral.xlsx
  18. Bom dia @Osmarbg... bom dia @AfonsoMira Em outros fóruns, essa ocorrência tem sido atribuída a 2 causas prováveis: Um novo filtro de e-mails do antivírus Kaspersky (mais provável); Um erro numa Build (atualização) do Office 2019. Veja as soluções recomendadas por profissionais e usuários que passaram por esse problema: Microsoft Outlook 2019 and Attachments, all attachments come with a weird extension_, .xls_ Outlook 2019 modificando extensão de anexos em mensagens recebidas
  19. Obrigado por responder, @Eder Neumann Pois é, seria uma saída por eliminação válida. Entretanto, gostaria de evitar gastar $$ desnecessariamente. Mas se não houver outro jeito... Vamos esperar um pouco mais pra ver se alguém já passou por essa situação e como resolveu.
  20. Boa tarde e bom ano novo, Comunidade! Meu celular Samsung A9 corrompe o cartão MicroSD toda vez que reinicia. Quando isso acontece ele exibe a mensagem que o cartão é incompatível e pergunta se desejo formatá-lo. Se realizo a formatação, seja no aparelho ou externamente num PC, ele funciona normalmente, guarda fotos e tudo mais, mas só até o próximo reinício. A cada vez tenho que usar um programa no PC para recuperar os arquivos, pois no PC também informa que não está formatado (corrompe o cartão todo, não só arquivos). Diante disso pergunto: pela experiência dos colegas, seria defeito de hardware? Se sim, no cartão ou no celular? Ou há algo simples que eu possa fazer para evitar isso, que não seja trocar o cartão ou levar o aparelho à assistência técnica?
  21. A recomendação que te deram no curso é válida, mas usando suas próprias palavras, refere-se à uma versão mais nova do Excel. Entretanto, os formatos de arquivo do Office baseados em XML (xlsx, xlsm, xlam, xltx, docx, dotx, docm, etc.) estão em uso desde o remoto Office 2007. Além disso, de nada adianta você continuar salvando em formatos de arquivo obsoletos se você já faz uso de funções que surgiram após o Office 2003, como por exemplo a função SEERRO que está na maioria de suas planilhas. Uma correção: é .xlsm. Sim, a conversão não altera em nada os códigos VBA. ...nessa planilha que enviei ela também travou a mudança das listas, minha lista vem de uma planilha oculta que chama-se contas. Seu arquivo provavelmente está corrompido pois na planilha que você indicou, "CR-JULHO", não há nenhuma validação de dados. você pode comprovar isso na planilha indo na guia Página Inicial > grupo Edição > botão Localizar e Selecionar > Validação de Dados. O resultado é "Nenhuma célula foi encontrada". A seta que ficou provavelmente é lixo decorrente do corrompimento da planilha e não há como apagá-la manualmente pois não permite ser selecionada. Se você exibir o Painel de Seleção (Página Inicial >grupo Edição > botão Localizar e Selecionar > Painel de Seleção) notará que selecionando o objeto "Drop Down nnn" e dando Delete, nada acontece, diferentemente de outros objetos como o botão da macro. Até daria pra deletá-lo via VBA, mas seria mais prudente recriar seu projeto em um arquivo virgem, começando do zero.
  22. Não há relação nenhuma entre esses fatos. Sua lista suspensa é simples, composta de valores fixos inseridos manualmente na lista da validação. Não, continua funcionando normalmente. Já tentou fechar o arquivo e reabri-lo? Outra coisa: por qual motivo você ainda usa o tipo de arquivo .xls e não o mais atualizado .xlsm?
  23. Esse problema parece não ter relação com o código VBA presente e sim com as configurações da Central de Confiabilidade em cada Excel de cada PC (menu Arquivo>Opções>Central de Confiabilidade>Configurações de Macro). Além disso, você está usando Certificado/Assinatura Digital em seu Projeto VBA. Pelo que sei (nunca usei), isso faz com que o Excel só confie em executá-lo se ele estiver instalado como um certificado pessoal no computador. Trabalhe com uma cópia de backup e tente remover o ID digital para fazer um teste: No editor do VBE, menu Ferramentas > Assinatura Digital > Botão "Remover".
  24. Não exatamente. O "00" é argumento da função TEXTO e só serve pra formatar a saída numérica sempre com 2 dígitos. A parte da fórmula que conta é: CONT.SE(Tabela1[NUMERO DO PROJETO];TEXTO(HOJE();"AAAA.MM.\*"))+1 Veja que o argumento Critério da CONT.SE usa um asterisco. Foi usado porque a CONT.SE assim como algumas outras funções do Excel admitem o uso de coringas. Então esse trecho da fórmula diz: "na coluna NUMERO DO PROJETO da Tabela1, conte quais valores começam com o dia de hoje formatado como "AAAA.MM." e terminem com qualquer coisa. Após contar, some 1. Então se a contagem der 0 (novo mês), somado com 1 dá o reinício. A barra invertida antes do asterisco é usada como um caractere de escape para o asterisco, pois é caractere especial. Basicamente as fórmulas minha e do Patropi são próximas. A diferença é no uso da coluna da tabela e o número de concatenações.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!