Ir ao conteúdo

OreiaG

Membro Pleno
  • Posts

    364
  • Cadastrado em

  1. Olá, @Alexandre F. No primeiro post você escreveu: "+ todos os outros valores contidos em todas as faixas" Com base nos últimos exemplos que você postou, me parece que você quer considerar os valores integrais e não os respectivos percentuais, é isso? "+ todos os outros valores integrais (e não os percentuais) contidos em todas as faixas" Experimente a fórmula abaixo. =SE(G3=0;D3*0,25+E3*0,5+F3*0,75;SOMA(B3:G3))
  2. @Alexandre F. Eu não havia considerado o valor da coluna B (A vencer) no resultado da fórmula se houver valor na coluna G (>120). Experimente essa abaixo, já com a inclusão da coluna B no resultado. =D3*0,25+E3*0,5+F3*0,75+G3+(G3>0)*(B3+C3) Sobre a expressão (G3>0)*C3 na fórmula anterior: G3>0 irá retornar VERDADEIRO se houver valor em G3, e FALSO se não houver. Ao efetuar uma operação aritmética com o resultado VERDADEIRO esse resultado será convertido no valor 1. Já com o resultado FALSO, o resultado será convertido no valor 0. E essa operação aritmética que faz a conversão de ambos os resultados é a multiplicação pelo valor contido em C3, então ficará assim: 1*C3 que corresponde a 1*1000 se houver valor em G3, e 0*C3 que corresponde a 0*1000 se não houver. Na prática, no primeiro caso o valor de C3 será adicionado ao resultado da fórmula, e no segundo não.
  3. Experimente a fórmula abaixo em H3. =D3*0,25+E3*0,5+F3*0,75+G3+(G3>0)*C3
  4. Ao fazer Copiar/Colar o gráfico colado manterá o vínculo com os dados da planilha de origem. Experimente fazer uma cópia da planilha: clique com o direito na guia da Planilha_01 / Mover ou copiar / Criar uma cópia / OK. Altere o nome da cópia criada se desejar.
  5. Olá, @Sthéfanie Santos Experimente o código abaixo. Sub OcultaReexibeLinhas() ActiveSheet.Unprotect Rows("44:46").Hidden = [L10] = 2 ActiveSheet.Protect End Sub obs. talvez seja possível ocultar/reexibir as linhas de forma automaticamente após alterar o valor de L10; se houver interesse aí precisamos ver o seu arquivo. Lembrando que arquivos com macros devem ser compactados antes de anexar aqui no fórum.
  6. Seguem duas soluções. Este primeiro código deve ser instalado em um módulo comum (exemplos: no Módulo1 ou no Módulo2 ou ...). Utilize-o no caso de a sua tabela de dados já estiver montada. Funciona com qualquer quantidade de linhas na tabela. Após executá-lo uma única vez, se necessário, aí passe a utilizar somente o segundo código abaixo. Sub MoveDados() Dim LR As Long With Sheets("Planilha1") LR = .Cells(Rows.Count, 3).End(3).Row .Range("C1:D" & LR).AutoFilter 1, 1 If .AutoFilter.Range.Columns(3).SpecialCells(12).Count < 2 Then .AutoFilterMode = False: Exit Sub .Range("C2:D" & LR).SpecialCells(12).Copy Sheets("Planilha2").Cells(Rows.Count, 3).End(3)(2) .Range("C2:D" & LR).SpecialCells(12).Value = "" .AutoFilterMode = False .Range("C2:D" & LR).SpecialCells(4).Delete Shift:=xlUp End With End Sub Este segundo código deve ser instalado no módulo da Planilha1 e moverá os dados, conforme o critério, assim que eles forem inseridos por digitação ou via Copiar/Colar. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column < 3 Or Target.Column > 4 Or Application.CountA(Cells(Target.Row, "C").Resize(, 2)) < 2 Or Cells(Target.Row, "C") <> 1 Then Exit Sub Cells(Target.Row, "C").Resize(, 2).Copy Sheets("Planilha2").Cells(Rows.Count, 3).End(3)(2) Cells(Target.Row, "C").Resize(, 2) = "" Cells(Target.Row, "C").Resize(, 2).Delete Shift:=xlUp End Sub
  7. Se ao invés de print você anexar o arquivo, possivelmente terá mais chances de obter ajuda.
  8. Para aplicar cada uma das três regras mantenha selecionado o intervalo A3:C8 / Formatação Condicional / Usar uma fórmula ... Para destacar o primeiro próximo vencimento utilize a fórmula abaixo, e para o segundo e o terceiro vencimentos, altere o número 1 no final da fórmula para 2 e para 3 respectivamente. =$B3=MENOR(SE($B$3:$B$8>HOJE();$B$3:$B$8);1) obs. o terceiro próximo vencimento é 28/01/25 e não 17/02/25 como você destacou manualmente na planilha.
  9. Cole o código abaixo no módulo da planilha de interesse. Private Sub Worksheet_Change(ByVal Target As Range) Dim oldN As Double, newN As Double If Target.Address <> "$A$6" Or Target.Value = "" Then Exit Sub On Error GoTo fim Application.EnableEvents = False newN = Target.Value Application.Undo oldN = Target.Value Target.Value = oldN + newN fim: Application.EnableEvents = True End Sub ... atualiza para 122, digito 380 atualiza o valor para 302 ... A sua calculadora está precisando de aferição. O resultado deveria ser 502.
  10. Desculpe, amigo. A cada postagem você traz uma novidade e um novo problema. Desisto de te ajudar!
  11. Veja se o código abaixo faz TUDO o que você precisa. Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Count > 1 Then Exit Sub 'Localizar "M1" em B If Target.Address = "$M$1" Then Set c = Range("B5:B" & Cells(Rows.Count, 2).End(3).Row).Find(Target.Value) If Not c Is Nothing Then c.Select Else: MsgBox "NÃO ENCONTRADO" Exit Sub End If 'Verifica se a entrada foi em B:C ou em G:H ou em K, a partir da linha 5 If Intersect(Target, Range("B:C,G:H,K:K")) Is Nothing Or Target.Row < 5 Then Exit Sub 'Se a entrada for um texto específico e em K If Target.Column = 11 And Target.Value = "CANCELOU PEDIDO S/DVL" Then Cells(Target.Row, "AK") = "PDD CANCEL " & Format(Target.Offset(, -1).Value, "dd/mm/yy") & " S/DVL" ElseIf Target.Column = 11 And Target.Value = "CANCELOU PEDIDO C/DVL" Then Cells(Target.Row, "AK") = "PDD CANCEL " & Format(Target.Offset(, -1).Value, "dd/mm/yy") & " C/DVL" End If 'Converte o texto em maiúsculas If Target.Value = UCase(Target.Value) Then Exit Sub Target.Value = UCase(Target.Value) End Sub
  12. https://www.clubedohardware.com.br/forums/topic/1700149-vba-digitar-em-k-e-resultado-esperado-em-z/#comment-8811692 Experimente o código abaixo. Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B:C,G:H,K:K")) Is Nothing Or Target.Row < 5 Then Exit Sub If Target.Value = UCase(Target.Value) Then Exit Sub Target.Value = UCase(Target.Value) End Sub
  13. Olá, @jcgmcs. Experimente agradecer pela ajuda recebida. É rápido, demonstra boa civilidade, incentiva quem lhe ajudou a ajudá-lo novamente no futuro, e além de tudo isso, ainda é grátis.
  14. Yes guy, here you go. Substitua as linhas correspondentes pelas novas linhas abaixo. Como você não mencionou sobre a coluna Z, considerei que ela será sempre em maiúsculas, independente da coluna K. If UCase(Target.Value) = "CANCELOU PEDIDO S/DVL" Then ... ElseIf UCase(Target.Value) = "CANCELOU PEDIDO C/DVL" Then

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!