Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    838
  • Cadastrado em

  • Última visita

Tudo que Edson Luiz Branco postou

  1. Sim, se necessário podes fazer isso. Mas se a quantidade de itens crescer muito, talvez fosse melhor elaborar uma fórmula mais abrangente. Esta não ficou genérica o bastante, penso. Mas tendo resolvido o problema acho que é o que importa.
  2. olá, colega @lhenrique_10 enquanto não surge uma ideia com uma fórmula mais enxuta, por enquanto veja se essa matricial é suficiente ao propósito. insira na d2: =se(soma(1*((ext.texto(substituir(c2;",";"");lin($1:$6);1))="1"))=1;$g$3&caract(10);"") & se(soma(1*((ext.texto(substituir(c2;",";"");lin($1:$6);1))="2"))=1;$g$4&caract(10);"") & se(soma(1*((ext.texto(substituir(c2;",";"");lin($1:$6);1))="3"))=1;$g$5&caract(10);"") & se(soma(1*((ext.texto(substituir(c2;",";"");lin($1:$6);1))="4"))=1;$g$6&caract(10);"") & se(soma(1*((ext.texto(substituir(c2;",";"");lin($1:$6);1))="5"))=1;$g$7&caract(10);"") & se(soma(1*((ext.texto(substituir(c2;",";"");lin($1:$6);1))="6"))=1;$g$8&caract(10);"") finalize com ctrl+shift+enter depois arraste não esqueça de formatar a célula para quebrar texto automaticamente teste - cdh (1).xlsx
  3. Caro @Augusto César LMP , não sei se entendi direito, mas não custa tentar: Private Sub Worksheet_Change(ByVal Target As Range) Dim rg As Range, brancas As Byte If Not Intersect(Target, Me.Range("A:A,C:E")) Is Nothing Then Set rg = Intersect(Target.EntireRow, Me.Range("A:A,C:E")) With Application.WorksheetFunction brancas = .CountBlank(rg.Areas(1)) + .CountBlank(rg.Areas(2)) End With Application.EnableEvents = False With Me.Cells(rg.Row, 10) If brancas = 4 Then .ClearContents Else .Value = Now End With Application.EnableEvents = True End If Set rg = Nothing End Sub _____ PS: , amigo Olsvaldo, não me dei conta que você já tinha respondido... e tá bem melhor e mais enxuto seu código!
  4. Siga esse procedimento, @Henrique Barbosa : Essa primeira parte você tem de fazer apenas uma vez: Na guia Desenvolvedor, clique no botão Suplementos (2 hexágonos azuis) Clique em Loja e na caixa Pesquisar, procure por XLTools.net Role até encontrar a extensão gratuita XLTools.net Unpivot Table e clique em Adicionar Pronto, agora você já pode usar a ferramenta, que abrirá num painel à direita Usando o suplemento: Clique no botão Select (Step 1), selecione toda sua tabelinha e dê OK Clique em uma célula vazia onde você quer inserir o resultado da transformação - esse é o Step 2 Clique no botão Unpivot Table e ...Voilá! Sua tabela foi transformada em registros sem necessidade de fórmulas ou de código VBA. Feche o painel da direita no x Sempre que quiser usar a ferramenta é só clicar no hexágono azul e escolhê-la que o painel direito se abrirá. Quando não precisar mais dela, é só clicar nos 3 pontinhos do suplemento e escolher Remover.
  5. Boa tarde, @Jose da TI Já tentou fazer uma remoção completa da versão pré/mal instalada anterior? Baixe e use a ferramenta de remoção da própria Microsoft seguindo a Opção 2 do artigo: Desinstalar o Office de um computador Ou faça a desinstalação manual (Avançado) - Opção 3 do mesmo artigo.
  6. Qual sua versão do Office? Se for o 2013/2016 dá pra fazer de forma bem simplificada, até mesmo sem fórmula.
  7. você tá usando a TV como tela Estendida ou Duplicada? você ajustou a resolução desse 2º "monitor" (TV) no Windows? Instalou o driver correto de acordo com o aparelho ou é o genérico PnP do Windows? O driver da placa gráfica está correto/atualizado? Dos itens acima, a resolução incorreta é a mais imediata. Agora, se você quer trabalhar com a tela duplicada, para que seu público esteja vendo o mesmo que você, caso seu notebook tem uma resolução baixa teria que trabalhar com a mesma resolução no monitor externo também, suponho. Para acessar as configurações para resolução: WIN+R, depois digite desk.cpl e Enter Escolha o número do vídeo e a resolução. Se necessário clique em Configurações Avançadas e veja se há uma guia específica para sua placa gráfica (Ex.: Intel Graphics Media Accelerator Driver) e altere ali as configurações. Mas com certeza não há nada de errado em sua planilha mas sim nessas configurações de vídeo.
  8. Bem vinda, @Marcia Carvalho Não entendi direito o que pretendes e o que quis dizer com "no máximo 6 opções". Que opções? Poderia exemplificar essa sua demanda?
  9. Qual dos 3 tipos de caixa de texto você usou? Controle de Conteúdo (de Texto sem formatação ou Rich Text) Campo de Texto (Ferramentas Herdadas - Controles tipo Formulário) Controle ActiveX (Ferramentas Herdadas - Controles ActiveX) O ideal seria você anexar seu doc para análise.
  10. Reprodução da resposta a esta pergunta dada na Comunidade do Hardware, tópico, Como mudar a cor da fonte de apenas 1 palavra Sub FormataNúms() Dim rg As Range, c As Range, m As Object Set rg = Application.InputBox(Prompt:="Selecione as células", Title:="Formatar Números", Type:=8) With CreateObject("VBScript.Regexp") .Pattern = "\d+": .Global = True For Each c In rg For Each m In .Execute(c.Value) With c.Characters(Start:=m.FirstIndex + 1, Length:=m.Length) .Font.Color = vbRed: .Font.Bold = True End With Next m Next c End With End Sub
  11. Não entendi, @Renato Aboim - Procure explicar detalhadamente mas relacionando com os endereços de intervalo/nomes/campos de tabela/planilha existentes em seu arquivo e nos dizendo qual o resultado final desejado e onde. - Verifique os intervalos nomeados que porventura possuam links com arquivos em seu PC, pois diversas delas estão com erro #REF! (possivelmente vínculo quebrado), como por ex. DEMANDAS, EL.PE, etc.
  12. Então, @Edson Soares Cosmo você quer jogar para a quarta mais próxima adiante. Então, se D23 for um domingo, teria que jogar 3 dias afrente para a quarta futura mais próxima, 2 dias afrente se fosse segunda, 1 se terça e 0 se for a própria quarta-feira. Já se for uma quinta, teria que somar 6 pois não dá pra voltar no tempo para a quarta que passou, 5 se for sexta e assim por diante. Então a parcela toda que está entre os parênteses mais externos têm que retornar esses valores ditos acima. Tomando como exemplo uma Segunda, cujo DIA.DA.SEMANA é 2, então Segunda + 3 dias é uma Quinta, cujo DIA.DA.SEMANA é 5. Diminuindo 5 de 7 dá 2 e somando 2 dias à Segunda-feira teremos a data desejada. Simbolicamente, a fórmula do exemplo seria avaliada como: =D23+(7-DIA.DA.SEMANA(D23+3)) =SegundaFeira + (7dias - DIA.DA.SEMANA(SegundaFeira + 3dias)) =SegundaFeira + (7dias - DIA.DA.SEMANA(QuintaFeira)) =SegundaFeira + (7dias - 5dias) =SegundaFeira + 2dias =QuartaFeira O raciocínio é o mesmo para os outros dias da semana.
  13. Mais uma fórmula, também matricial (CTRL+SHIFT+ENTER para finalizá-la): =MÍNIMO(SE(NÃO(CONT.SE(E1:E7;G1:G7));G1:G7;""))
  14. Boa tarde, xará! Sem considerar feriados, só jogando para a quarta-feira mais próxima (pra frente): =D23+(7-DIA.DA.SEMANA(D23+3))
  15. Provavelmente você copiou e colou de algum lugar como uma página da internet, por exemplo, onde vêm alguns lixos de carona, muitas vezes invisíveis. Ou é o problema clássico do Excel manter valores como texto quando são colados mesmo eles sendo números, sendo necessário intervir para "acordar" o valor com técnicas já bem conhecidas: F2 e Enter ou Texto-para-Colunas dentre outras.
  16. Se seu problema foi solucionado, por gentileza, @rayanwin , marque o tópico como RESOLVIDO, ok?
  17. Colegas, boa tarde Quanto aos parâmetros, há um erro de tradução (tecnicamente "localização") dessa função (não-documentada) para nossa língua: apesar do nome da função ter sido traduzida, de DATEDIF para DATADIF, o último argumento tem de ser usado na forma norte-americana. Sintaxe: =DATADIF(dataInicial; dataFinal; "Tipo") onde tipo pode ser: "Y" - para diferença em anos "M" - para diferença em meses "D" - para diferença em dias "YM" - para meses decorridos no último ano "MD" - para dias decorridos no último mês Por outro lado, é uma das poucas funções de data que aceita que os argumentos dataInicial e dataFinal sejam inseridos tanto como string e também como data serial. Então as seguintes maneiras de usar são equivalentes: =DATADIF("25/05/1961";"31/08/2018";"Y") =DATADIF(DATA(1961;5;25);HOJE();"Y") =DATADIF(22426;43346;"Y") Logicamente que se a(s) data(s) estiver(em) em células, tanto na forma de texto quanto na forma serial, pode-se passar só a referência da célula mesmo. Por exemplo, para saber seu tempo de vida: ="Tempo de Vida: " & DATADIF("25/05/1961";HOJE();"Y")& " anos, " & DATADIF("25/05/1961";HOJE();"YM")& " meses e " & DATADIF("25/05/1961";HOJE();"MD")& " dias."
  18. Acho que o melhor caminho, @Nicchon Sanchez Pinto, seria você explicando e exemplificando detalhadamente o que você quer fazer. Anexe seus dois arquivos aqui e nos diga quais células serão copiadas e para onde serão coladas. Se seus arquivos tiverem dados confidenciais, substitua-os por dados fictícios, mas mantenha a estrutura de suas planilhas intactas.
  19. Bem vindo ao fórum do Clube do Hardware, @Nicchon Sanchez Pinto É necessário ser feito no VBScript? Não pode ser feito no próprio VBA, cuja linguagem/sintaxe é a mesma, sendo que o VBA tem bem mais recursos? Se ainda assim tiver que ser no VBScript, você pode atribuir a uma variável objeto o(s) Workbook(s) que você quer manipular (usando CreateObject ou GetObject) e usar todo o modelo de objetos do Excel para ativar/desativar janelas, copiar/colar ou melhor ainda, atribuir valores de um range de uma para o da outra pasta sem necessitar copiar/colar. Isso evita ficar mandando pressionamentos de tecla e usar o shell do Windows.
  20. Boa tarde, @rayanwin Uma maneira de fazer, se a palavra em B1 corresponde ao conteúdo inteiro de alguma célula da col. A: =SE(ÉCÉL.VAZIA(B1);"";SE(CONT.SE(A1:A500;B1)>=1;"Tem o valor";"Não tem o valor")) Se B1 for só substring: =SE(ÉCÉL.VAZIA(B1);"";SE(CONT.SE(A1:A500;"*" & B1 & "*")>=1;"Tem o valor";"Não tem o valor"))
  21. Boa noite, @david.palazzo Sim, é possível. Há vários vídeos e blogs mostrando como fazer o que pretende. Um deles é o do Tomás Vasquez: Excel - Destacando linhas e colunas (com pouco VBA)
  22. Boa noite, @BernardorValle Use essas fórmulas nas células em: H5: =ÍNDICE($B$4:$B$15;3*(LIN($B4)-LIN($B$4)) +1 ;1) I5 : =ÍNDICE($B$4:$B$15;3*(LIN($B4)-LIN($B$4)) +2 ;1) J5: =ÍNDICE($B$4:$B$15;3*(LIN($B4)-LIN($B$4)) +3 ;1) Depois clique e arraste cada fórmula para baixo. Também dá pra fazer usando uma só fórmula para uma linha de dados, mas na forma matricial. Faça o seguinte: 1) Se seu Excel for mais novo (2013, 2016) em H5 insira a fórmula: =ÍNDICE($B$4:$B$15;3*(LIN($B4)-LIN($B$4)) + {1\2\3} ;1) Se for mais antigo, use: =ÍNDICE($B$4:$B$15;3*(LIN($B4)-LIN($B$4)) + {1.2.3} ;1) 2) Selecione o intervalo H5:J5 3) Pressione a tecla de função F2 4) Finalize com CTRL+SHIFT+ENTER (tudo junto). 5) Arraste para baixo. No anexo estão exemplificadas as duas formas. Ex Duvida.xlsx
  23. Bem vindo, @David Brenner É uma planilha protegida (por senha)? Faça um teste indo na guia Início, clique no botão grande Localizar e Selecionar (lupa) e escolha o último item, "Painel de Seleção" . Vai abrir um painel à esquerda e as figuras/formas estarão listadas ali. Clicando no símbolo do Olho você controla a visibilidade do objeto, se é que é um objeto.
  24. Mais duas formas de fazer, só pra não perder a viagem rsrsrs: 1) =ÍNDICE({"insuficiente";"regular";"bom";"excelente"};1+SOMARPRODUTO(1*(C3>={8;9;10}))) Ou ... 2) =ESCOLHER(1+SOMARPRODUTO(1*(C3>={8;9;10}));"insuficiente";"regular";"bom";"excelente")
  25. Boa tarde, @Roberto Lucena você pode formatar a célula com fração, clicando com o botão direito sobre a célula, escolher "Formatar células...", na guia Números escolher "Fração" e no lado direito escolher "Máximo de dois dígitos". Note no entanto que nesse seu caso, como essa fração 50/54 tem um M.D.C.* = 2 que pode reduzir a fração, o Excel irá fazê-lo exibindo 25/27 ao invés de 50/54. A vantagem é que esse valor permanece sendo um número portanto pode ser usado em outros cálculos se desejado. A outra forma é exibir 50/54 como texto, usando a fórmula: =SOMA(A2:A5) &"/"& CONT.NÚM(A2:A5) Entretanto, como o resultado dessa última é um texto, não se presta para ser usado em outras fórmulas que dependam do valor numérico da fração. ____________ *Máximo Divisor Comum

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!