Ir ao conteúdo
  • Cadastre-se

OreiaG

Membro Pleno
  • Posts

    292
  • Cadastrado em

Tópicos solucionados

  1. O post de OreiaG em Contar células vazias em referência outra mesclada foi marcado como solução   
    Sim, está correta a sua percepção. Falha minha.
    Experimente esta abaixo em INVENTÁRIO!E6, ela já está corrigida, acrescentei o nome da planilha onde estão os dados.
    =SOMARPRODUTO(--(MOD(LIN('DISPONÍVEL ÁREA'!C2:C24);2)=0);--('DISPONÍVEL ÁREA'!C2:C24="")*--(MOD(LIN('DISPONÍVEL ÁREA'!C3:C25);2)=1);--('DISPONÍVEL ÁREA'!C3:C25=""))  
    _________________________________________________________________________________________________
     
    Quanto à Formatação Condicional na planilha INVENTÁRIO, e com base no seu print do post #3, segue abaixo um passo a passo.
    Se já houver Formatação Condicional no intervalo H6:S6, então limpe antes.
     
    1. selecione H6:S6 e pinte o preenchimento das células em vermelho; mantenha a seleção
    2. menu Formatação Condicional >>> Nova Regra >>> Usar uma fórmula ...
    =CONT.VALORES(DESLOC('DISPONÍVEL ÁREA'!$C$1;CORRESP(H$6;'DISPONÍVEL ÁREA'!$G$2:$G$25;0);;2))=0 3. formate o preenchimento em verde >>> OK >>> OK
     
  2. O post de OreiaG em Pop de erro no Excel ao inserir a fórmula foi marcado como solução   
    Experimente substituir as vírgulas por ponto e vírgula.
  3. O post de OreiaG em Formação condicional de linhas a partir de célula com formato personalizado foi marcado como solução   
    Selecione o intervalo em que deseja aplicar a Formatação, por exemplo A4:P18
    menu Formatação Condicional | Nova Regra | Usar uma fórmula ...
    =OU(DIA.DA.SEMANA($Q4;2)>5;$S4="FERIADO") formate como desejar | OK | OK
     
    dica:
    em S4, no lugar da sua fórmula atual >>> =SE(Q4="";"";SE(SEERRO(PROCV(Q4;FERIADOS;1;0);0)>0;"FERIADO";"NORMAL"))
           se quiser, use esta mais simples >>> =SE(Q4="";"";SE(CONT.SE(FERIADOS;Q4);"FERIADO";"NORMAL"))
  4. O post de OreiaG em Definir meses do ano em uma coluna com formula foi marcado como solução   
    Se você quer retornar o mês (em lugar de definir o mês) utilize as fórmulas abaixo.
     
    retorna o número correspondente ao mês
    =MÊS(B4)  
    retorna as 3 primeiras letras do nome do mês
    =TEXTO(B4;"mmm")  
  5. O post de OreiaG em Como combinar esses critérios foi marcado como solução   
    Ok, experimente esta fórmula.
    Se não houver nomes em um Grupo, exemplo no Grupo 4 do seu print, a fórmula irá retornar zero.
    =CONT.SES(A$4:A$14;"<>"&"";A$4:A$14;"<>"&"*-*";B$4:B$14;"="&B4)  
    Ressalva - o seu print mostra que no intervalo C4:C6 as células estão mescladas, e se o intervalo B4:B6 também estiver mesclado a fórmula não irá retornar o resultado desejado. Nesse caso desfaça a mesclagem e repita o texto GRUPO 1 nas três células B4, B5 e B6.
    Essa ressalva se aplica a todos os Grupos.
     
     
  6. O post de OreiaG em Fórmula condicional Microsoft Excel foi marcado como solução   
    Em C2, arraste para baixo, arraste para a direita.
     
    =CONT.SES(Tabela1[[cargo]:[cargo]];$A2;Tabela1[[secretaria]:[secretaria]];C$1)  
    Obviamente, em Planilha2!C1:P1 você precisa colocar nomes iguais a Contratados fev-2024!Secretaria, ou vice-versa ou ainda criar uma coluna auxiliar em Contratados fev-2024 com as abreviaturas iguais a Planilha2!C1:P1 e aí altere na fórmula.
  7. O post de OreiaG em Verificação de colunas A, B e C foi marcado como solução   
    Veja se esta lhe atende.
     
    =SOMARPRODUTO((B$2:C$8<>"ZD")*(B$2:C$8<>"ZN")*(B$2:C$8<>"")*(A$2:A$8=A2))  
  8. O post de OreiaG em Máscara condicional em Textbox foi marcado como solução   
    Veja se lhe atende.
     
    Private Sub TextBox1_Change() If Len(TextBox1.Text) = 5 Then If Right(TextBox1.Text, 1) = "-" Then TextBox1.Text = Left(TextBox1.Text, 4) Else: TextBox1.Text = Left(TextBox1.Text, 4) & "-" & Right(TextBox1.Text, 1) End If End If End Sub  
  9. O post de OreiaG em Formula Maior em VBA foi marcado como solução   
    Olá, @deejaywesley.
     
    O erro de "tipos incompatíveis" ocorre porque parece que nem WorksheetFunction e nem Application trabalham bem com sintaxes matriciais.
     
    Com sintaxes não matriciais elas funcionam, conforme os dois exemplos abaixo.
    [F3] = Application.Large(Sheets("saldos_estoque").Range("A2:A9"), 1) [G3] = WorksheetFunction.Large(Sheets("saldos_estoque").Range("A2:A9"), 1)  
    A alternativa no seu caso é utilizar Evaluate, que trabalha bem com matriciais e aceita variáveis nos parâmetros, se necessário.
    [A3] = Evaluate("LARGE(((saldos_estoque!D2:D36000)=Reposição!B3)*(saldos_estoque!A2:A36000),1)") ou com o atalho [...] que faz a função de Evaluate. [B3] = [LARGE(((saldos_estoque!D2:D36000)=Reposição!B3)*(saldos_estoque!A2:A36000),1)]  
     
     
  10. O post de OreiaG em Macro copiar e colar e limpar planilha foi marcado como solução   
    Você quer uma macro para transferir alguns dados da planilha Check List - Peso para a primeira linha vazia da Planilha1 ?
     
    Na planilha Check List - Peso não encontrei os dados em vermelho.
     
    Informe também cada campo de Check List - Peso para qual coluna irá na Planilha1.
  11. O post de OreiaG em Contador numérico em Looping progressivo e regressivo de 15 dias foi marcado como solução   
    =SE(ÉPAR(INT((B1-A1-1)/15));SE(MOD(B1-A1;15)=0;15;MOD(B1-A1;15));-(MOD(INT(A1-B1+15);15)+1))  
    Tópico semelhante
  12. O post de OreiaG em Resultado da pesquisa em ordem numérica foi marcado como solução   
    Para retornar os nomes:
    =SEERRO(ÍNDICE(B$2:B$21;MENOR(SE(E$2:E$21=L$3;LIN(E$2:E$21)-1);LIN($A1)));"")  
    Para retornar sexo e cpf altere o intervalo B$2:B$21 para C e D respectivamente.
  13. O post de OreiaG em Como transferir dados de varias abas de uma planilha com critério no vba foi marcado como solução   
    Olá, @Lucia Andrade.
    Veja se o código abaixo faz o que você deseja.
    Antes de testar altere os cabeçalhos das planilhas DADOS-2 e DADOS-3 e deixe iguais à planilha DADOS, ou seja, com o cabeçalho na linha 1.
    Sub RetânguloCantosArredondados1_Clique() Dim cliente As String, ws As Worksheet, x As Long With Sheets("PESQUISA") cliente = .[B3] If .[A6] <> "" Then .Range("A6:E" & .Cells(Rows.Count, 1).End(3).Row).ClearContents For Each ws In Worksheets(Array("DADOS", "DADOS-2", "DADOS-3")) ws.AutoFilterMode = False ws.[A1:D1].AutoFilter 4, cliente x = ws.AutoFilter.Range.Columns(1).SpecialCells(12).Count If x > 1 Then ws.Range("A2:D" & ws.Cells(Rows.Count, 1).End(xlUp).Row).Copy .Cells(Rows.Count, 1).End(3)(2) .Cells(Rows.Count, 5).End(3)(2).Resize(x - 1) = ws.Name End If ws.AutoFilterMode = False Next ws End With End Sub  
    obs. se você quiser o código poderá ser ajustado para ser executado sempre que for alterado o nome em PESQUISA!B3, sem a necessidade de clicar na figura Retângulo.
  14. O post de OreiaG em Divisão de Semanas mensal foi marcado como solução   
    Veja se pode lhe ajudar.
     
    Em D1 coloque o número 1 e em D2 coloque a fórmula abaixo e arraste para baixo.
     
    =SE(OU(LIN()<8;DIA(A2)=1);1;SE(OU(SOMARPRODUTO(--(MÊS(DESLOC(A1;;;-7))=MÊS(A2)))<7;CONT.SE(DESLOC(D1;;;-7);D1)<7);D1;(D1+1)-4*(CONT.SE(DESLOC(D1;;;-7);4)=7)))  
  15. O post de OreiaG em Organização de texto dentro de uma mesma célula foi marcado como solução   
    Olá, @MateusAC3.
     
    Fiz os ajustes no código conforme o seu último arquivo, que está claro e completo. 👏👏👏
     
    1. ao executar o código a planilha DESORGANIZADA deverá ser a planilha ativa
    3. os resultados serão colocados na coluna K e as colunas L:O serão utilizadas como colunas auxiliares.
    4. há duas divergências entre o resultado do código e o seu resultado desejado:
      a) linha 11 - no seu resultado estão invertidas entre si as posições de ALQ e SPA, conforme os seus critérios na planilha  SEQUÊNCIA DESEJADA
      b) linha 14 - os conteúdos são iguais, porém as posições dos 4 códigos ALT aparecerão diferentes do seu resultado; se essas posições forem importantes então você precisa fornecer critérios adicionais para o posicionamento de códigos que se repetem
     
     
    Sub OrganizaTextosV2() Dim X, r As Range, rng As Range, r1 As Range, r2 As Range, k As Long, v As Long Application.ScreenUpdating = False [K:O] = "" For Each rng In Range("G2:G" & Cells(Rows.Count, 7).End(3).Row) X = Split(rng.Value, "/") [L1].Resize(UBound(X) + 1).Value = Application.Transpose(X) If [L2] = "" Then rng.Offset(, 4).Value = [L1]: GoTo jump2 Range("L1:L" & Cells(Rows.Count, 12).End(3).Row).RemoveDuplicates Columns:=1, Header:=xlNo For v = 1 To Cells(Rows.Count, 12).End(3).Row If Left(Cells(v, 12), 1) = 9 Then Cells(v, 12).Clear: GoTo jump1 Else Select Case Left(Cells(v, 12), 3) Case "BPO": k = 8 Case "ALQ": k = 7 Case "ALT": k = 6 Case "RAC": k = 5 Case "SPA": k = 4 Case "LPP": k = 3 Case "LPJ": k = 2 Case "LPA": k = 1 Case Else: k = 0 End Select End If If k = 0 Then Cells(Rows.Count, 14).End(3)(2, 2) = Mid(Cells(v, 12), Len(Cells(v, 12)) - 1, 1) Cells(v, 12).Cut Cells(Rows.Count, 14).End(3)(2) Else Cells(Rows.Count, 12).End(3)(2, 2) = k Cells(v, 12).Cut Cells(Rows.Count, 12).End(3)(2) End If jump1: Next v Range("L:O").SpecialCells(4).Delete Range("L1:M" & Cells(Rows.Count, 12).End(3).Row).Sort Key1:=[M1], Key2:=[L1], Order1:=xlAscending, Header:=xlNo, DataOption1:=xlSortTextAsNumbers Range("N1:O" & Cells(Rows.Count, 14).End(3).Row).Sort Key1:=[O1], Key2:=[N1], Order1:=xlAscending, Header:=xlNo, DataOption1:=xlSortTextAsNumbers If [N1] <> "" Then Set r1 = Range("N1:N" & Cells(Rows.Count, 14).End(3).Row) If [L1] <> "" Then Set r2 = Range("L1:L" & Cells(Rows.Count, 12).End(3).Row) If r1 Is Nothing Then rng.Offset(, 4).Value = WorksheetFunction.TextJoin("/", True, r2) ElseIf r2 Is Nothing Then rng.Offset(, 4).Value = WorksheetFunction.TextJoin("/", True, r1) Else: rng.Offset(, 4).Value = WorksheetFunction.TextJoin("/", True, r1) & "/" & WorksheetFunction.TextJoin("/", True, r2) End If jump2: [L:O] = "": Set r1 = Nothing: Set r2 = Nothing Next rng End Sub  
  16. O post de OreiaG em Macro geral para botão+1 foi marcado como solução   
    Substitua A1+1 por ActiveCell.Value=Active
     
    Substitua A1+1 por ActiveCell.Value = ActiveCell.Value + 1
  17. O post de OreiaG em Concatenar valores de uma planilha em outra foi marcado como solução   
    Olá, @MateusAC3
    Veja se este código ajuda.
    obs. nas próximas postagens anexe o próprio arquivo Excel e não imagens.
     
    Sub NúmerosXNomes() Dim r1 As Range, r2 As Range, rng1 As Range, rng2 As Range Set rng1 = Sheets("Planilha A").Range("C2:C" & Sheets("Planilha A").Cells(Rows.Count, 3).End(3).Row) Set rng2 = Sheets("Planilha B").Range("A2:A" & Sheets("Planilha B").Cells(Rows.Count, 1).End(3).Row) rng2.Offset(, 1).Value = "" For Each r1 In rng1 Set r2 = rng2.Find(r1.Value) If Not r2 Is Nothing Then r2.Offset(, 1).Value = Trim(r2.Offset(, 1).Value & " " & r1.Offset(, -2).Value) Next r1 End Sub  
  18. O post de OreiaG em vba macro que busca nome e certificados de tripulante e coloca em aba resumo foi marcado como solução   
    Olá, @Alex Sapulla
    Veja se este código pode lhe ajudar.
    Cole uma cópia no módulo da planilha RESUME FOR PERSON.
    Será executado ao alterar o nome em E9.
     
    Private Sub Worksheet_Change(ByVal Target As Range) Dim k As Long, m As Long, x As Long If Target.Address <> "$E$9" Then Exit Sub Range("E10:E11,E18:E54,H18:I54,L18:M54,P18:Q54").Value = "" If Target.Value = "" Then Exit Sub With Sheets("ALL CREW CERTIFICATE LIST") k = .Range("G9:G" & .Cells(Rows.Count, "G").End(3).Row).Find([E9]).Row [E10] = .Cells(k, "F"): [E11] = .Cells(k, "H") For m = 9 To 45 If .Cells(k, m) <> "NA" Then If .Cells(k, m) = "M" Then x = 5 Else Select Case .Cells(k, m).DisplayFormat.Interior.ColorIndex Case 3: x = 8 Case 14: x = 16 Case 44: x = 12 End Select End If Cells(18 + Application.CountA(Range(Cells(18, x), Cells(53, x))), x) = .Cells(7, m) If x <> 5 Then Cells(18 + Application.CountA(Range(Cells(18, x + 1), Cells(53, x + 1))), x + 1) = .Cells(k, m) End If Next m End With End Sub  
  19. O post de OreiaG em Indice para tabela de Experiencia foi marcado como solução   
    =índice(b2:b11;corresp(e2;a2:a11;0)+1)-e1 ou
    =procv(e2+1;a2:b11;2)-e1  
  20. O post de OreiaG em Unir dados de 3 células numa só ( Data ), Excel 2007 foi marcado como solução   
    Aplique a fórmula abaixo.
     
    =DATA.VALOR(Z3&AA3&ANO(AB3))  
    ou
     
    =DATA(ANO(AB3);MÊS(AA3&"1");Z3)  
  21. O post de OreiaG em Fórmula procurar Valor em um conjunto de dados Repedidos, com Procv não atende foi marcado como solução   
    Nas próximas postagens mostre os números das linhas na imagem.
    Mas ... como bem comentou o @Fred Oliveira, dê preferência para anexar arquivos e não imagens.
     
    =ÍNDICE(L$1:L$50;CORRESP(1;(M11=K$1:K50)*(L$1:L$50<>600000);0))  
  22. O post de OreiaG em Preciso de um VBA foi marcado como solução   
    Olá, Wesley.
    Veja se este código lhe atende.
    Considerei que a Plan2 (que receberá os dados) estará vazia ao executar a macro.
     
    Sub MultiplicaDados() Dim LR As Long, k As Long, x As Long LR = Sheets("Plan1").Cells(Rows.Count, 1).End(3).Row Application.ScreenUpdating = False Sheets("Plan1").Range("A1:E1").Copy Sheets("Plan2").[A1] With Sheets("Plan1") For k = 2 To LR x = .Cells(k, 5) .Cells(k, 1).Resize(, 5).Copy Sheets("Plan2").Cells(Rows.Count, 1).End(3)(3).Resize(x) Next k End With Sheets("Plan2").Rows(2).Delete End Sub  
  23. O post de OreiaG em EXCEL - Imprimir mesma planilha 2x em uma folha foi marcado como solução   
    Veja no arquivo anexo se entendi e se ajuda.
     
     
    Anexo1 Duas tabelas.xls
  24. O post de OreiaG em Retornar cinco mensagens em seis meses foi marcado como solução   
    =SE(OU(MÊS(C4)=6;MÊS(C4)=12);"férias";PROC(DATADIF(B4;C4;"m");{0;6;12;18};{"móulo1";"módulo2";"módulo3";"concluído"}))  
    Considerando as datas em B4 e em C4, abaixo estão os resultados retornados pela fórmula:
    1. se o mês da data em C4 for junho ou dezembro >>> FÉRIAS.
    2. até a véspera de completar 6 meses >>> Módulo 1.
    3. a partir de 6 meses e até a véspera de completar 12 meses >>> Módulo 2.
    4. a partir de 12 meses e até a véspera de completar 18 meses >>> Módulo 3.
    5. após completar 18 meses >>> CONCLUÍDO
  25. O post de OreiaG em Soma dos pagamentos mensais/totais devem constar somente na 1ª linha do cliente. foi marcado como solução   
    Em E2 e arraste para baixo
    =TEXTO(C2;"m/aaaa")  
    Em F2 e arraste para baixo
    =SE(SOMARPRODUTO((TEXTO(C$2:C2;"m/aaaa")=E2)*(B$2:B2=B2))=1;SOMARPRODUTO((TEXTO(C$2:C$25;"m/aaaa")=E2)*(B$2:B$25=B2)*(D$2:D$25));"")  
    Em G2 e arraste para baixo
    =SE(CONT.SE(B$2:B2;B2)=1;SOMASE(B$2:B$25;B2;D$2:D$25);"")  
    obs. corrija a data em C20

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!