Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. @valbeezerra No loop da leitura das linhas coloque o critério para sair quando o tamanho for igual a zero, Do Until Txt.AtEndOfStream StrLinha = Txt.ReadLine If Len(StrLinha) = 0 Then Exit Do End If ...
  2. @Beatriz Dorin Na sua contagem dos divisíveis por 5 também está entrando os nulos. Sua estrutura no teste do nulo pode ter o bloco SeNão, assim no caso condição verdadeira haverá o incremento de TOTNUL e caso contrário terá os testes das outras condições, Se(N = 0) Então TOTNUL <- TOTNUL + 1 SeNão Se(N % 2 = 0) Então TOTPAR <- TOTPAR + N FimSe Se(N % 5 = 0) Então TOTDIV <- TOTDIV + 1 FimSe FimSe
  3. @RAIMUNDO LIMA DE ARAUJO Então coloque esses horários constantes no início e uma referência a saída no fim do turno, p.ex, Em K13 fica 22:00 e em M3 a fórmula =$H13 A fórmula de M3 pode ser aplicada a todas as saídas e só valor do inicio que vai mudar. Em P3 fica 16:30 e U13 07:30
  4. Deu certo. Com a substituição ficou assim,
  5. @RAIMUNDO LIMA DE ARAUJO Qual é a lógica ou cálculos que devem ser feitos para chegar nos resultados dos horários? Na sua simulação do horário 00:00 a 07:40, o ad.Not 35% ficou 22:00 / 08:45. Por que deve ficar assim? Esse 35% é algo relacionado ao cálculo que deve ser feito para chegar na jornada? Será mais fácil ajudar se explicar de forma geral como devem ficar os turnos com base em qualquer valor de entrada e saída e não só com exemplos específicos.
  6. @Andreas Karl A plaquinha da bateria, Entre o polo negativo da bateria do e-reader e a plaquinha também tem este componente branco, O código é LC72AY-1 e parece ter uma função relacionada a temperatura. Tem que colocar isso também na outra?
  7. @revolucao alterei a fórmula do peso, =SEERRO(VALOR(SEERRO(VALOR(SUBSTITUIR(EXT.TEXTO(ARRUMAR(EXT.TEXTO(A6;NÚM.CARACT("LOTE")+LOCALIZAR("LOTE";A6)+1;NÚM.CARACT(A6)));1;20);"G";"")); EXT.TEXTO(SUBSTITUIR(EXT.TEXTO(ARRUMAR(EXT.TEXTO(A6;NÚM.CARACT("LOTE")+LOCALIZAR("LOTE";A6)+1;NÚM.CARACT(A6)));1;20);"G";"");1;LOCALIZAR(" ";SUBSTITUIR(EXT.TEXTO(ARRUMAR(EXT.TEXTO(A6;NÚM.CARACT("LOTE")+LOCALIZAR("LOTE";A6)+1;NÚM.CARACT(A6)));1;20);"G";""))) ));"")
  8. @Revolucao Acho mais fácil alterar a fórmula do valor. Esta vai em B7, depois tem que arrastar para as outras, =SE(E(ÉNÚM(A7);ÉNÚM(C7));SE(ÉTEXTO(A7);"";A7);SE(E(ÉNÚM(A8);ÉNÚM(C7));SE(ÉTEXTO(A8);"";A8);""))
  9. @Pedro Caixinha Com PROCX fica assim, =PROCX(C14;INDIRETO("'"&C$7&"'!"&"A:A");DESLOC(INDIRETO("'"&C$7&"'!"&"A:A");;C9+1);;1)
  10. @BruninXntj Você pode colocar esses comandos em um loop com a opção de sair (comando break) quando a resposta for não.
  11. @Pedro Caixinha Em vez de PROCV você pode aplicar a fórmula PROCX, e no parâmetro de correspondência o valor 1 (exato ou próximo do maior).
  12. @Pedro Caixinha Na tabela a taxa de 7,7% não é para a faixa entre 1.051 e 1.113? E só a partir de 1.113 até 1.194 seria 8,5%. Nesse caso está retornando o valor correto.
  13. @Andreas Karl Na bateria do e-reader só tem dois fios. Esse monitor de temperatura é para quando estiver carregando?
  14. @Revolucao Se é o valor do lote, veja se assim resolve, =SEERRO(VALOR(ARRUMAR(EXT.TEXTO(ARRUMAR(EXT.TEXTO(A9;NÚM.CARACT("LOTE")+LOCALIZAR("LOTE";A9)+1;NÚM.CARACT(A9)));1;LOCALIZAR(" ";ARRUMAR(EXT.TEXTO(A9;NÚM.CARACT("LOTE")+LOCALIZAR("LOTE";A9)+1;NÚM.CARACT(A9))))-2)));"")
  15. @Revolucao Esse recurso está disponível no 365, mas se a sua versão tem suporte talvez não esteja aparecendo porque falta as últimas atualizações.
  16. Troquei a bateria de um laptop que estava ruim e gostaria de aproveitar uma célula boa em um e-reader que já está com a bateria fraca. Esta é a do laptop, E esta é a placa do eReader com a bateria que quero substituir, A tensão é a mesma, só a corrente é diferente. Para esse procedimento dar certo basta remover a plaquinha da bateria do e-reader e colocar na célula que será removida da bateria do laptop? A plaquinha que me refiro é a que fica abaixo da fita onde tem os terminais da bateria.
  17. @RayGabriel Antes de executar a macro a tabela deve estar ordenada, como no exemplo, Sub MacroCopiaTabela() Call CopiaTabela([A6].CurrentRegion, [E7]) End Sub Sub CopiaTabela(Tabela As Range, Nova As Range) Dim Linha As Long Dim Conta As Long Dim Codigo As Range Linha = 1 While Linha <= Tabela.Rows.Count Set Codigo = Tabela(Linha, 1) Conta = WorksheetFunction.CountIf( _ Tabela.Columns(1), Codigo) Call Codigo.Copy(Nova) Tabela(Linha, 3).Resize(Conta).Copy Call Nova(, 2).PasteSpecial(Transpose:=True) Set Nova = Nova(2) Linha = Linha + Conta Wend Application.CutCopyMode = False End Sub
  18. Para os valores numéricos bastaria converter todos para número antes de rodar a macro, assim os zeros a esquerda seriam removidos. Já no caso dos nomes depende se há um padrão na diferença entre os nomes ou se são casos específicos tipo erro de digitação. Em relação a sua primeira questão, se possível mostre um exemplo na planilha de como deve ficar. Sobre colocar uma tabela em cada planilha, a MacroAlinha pode ficar assim, Sub MacroAlinha() ThisWorkbook.Sheets("A").[I:O].Clear Call Alinha( _ ThisWorkbook.Sheets("A").[A1].CurrentRegion, _ ThisWorkbook.Sheets("B").[A1].CurrentRegion) End Sub A planilha A é a da tabela azul e a B a outra. Veja que a macro limpa os ranges da planilha A antes de copiar os valores. E com CurrentRegion vai pegar todas os ranges de cada tabela a partir de A1, então não deve haver linha em branco nessas tabelas.
  19. @Scofieldgyn Substitua a linha da atribuição da Sub ColaTabela por esta, Call Area.Copy(Planilha.Sheets(1).[A1]) Assim vai colar com o formato do range e fórmulas se tiver.
  20. @FMattos Já tentou com tabela dinâmica? Assim poderá agrupar as informações por funcionário.
  21. @Scofieldgyn Veja se assim resolve. Save a planilha com a macro antes de rodar. Considerei a tabela em A1 e peguei a região dessa célula. Os arquivos serão salvos no mesmo diretório, faça um teste com poucos registros para ver se é isso mesmo, Dim PlanIndice As Integer Sub MacroCopiaTabela() PlanIndice = 1 Call CopiaTabela([A1].CurrentRegion, 1999) End Sub Sub CopiaTabela(Tabela As Range, Max As Integer) Dim Linhas As Long Dim Bloco As Long Linhas = Tabela.Rows.Count - 1 Bloco = 0 While Bloco < WorksheetFunction.Quotient(Linhas, Max) Call ColaTabela(Tabela.Rows( _ Bloco * Max + 2).Resize(Max)) Bloco = Bloco + 1 Wend If Linhas Mod Max > 0 Then Call ColaTabela(Tabela.Rows( _ Bloco * Max + 2).Resize(Linhas Mod Max)) End If End Sub Sub ColaTabela(Area As Range) Dim Planilha As Workbook Set Planilha = Workbooks.Add Planilha.Sheets(1).[A1].Resize( _ Area.Rows.Count, _ Area.Columns.Count).Value = Area.Value Call Planilha.SaveAs( _ ThisWorkbook.Path & "\" & _ Format(PlanIndice, "000") & ".xlsx") Call Planilha.Close(False) PlanIndice = PlanIndice + 1 End Sub
  22. @FMattos Se quer automatizar esse processo pode ser com macro. Para isso anexe uma planilha com dados fictícios onde seja possível desenvolver uma solução.
  23. @Klaus Bier Deixe as tabelas desta forma, Ao lado da primeira tabela a macro vai colar os dados que encontrar na outra. Na coluna ao lado da última da segunda (H) será criada outra auxiliar com a fórmula onde será feita a busca. Sub MacroAlinha() Call Alinha([A1:H24], [A30:G53]) End Sub Sub Alinha(Tabela As Range, Compara As Range) Const COL_VENC As Integer = 4 Const COL_TTLO As Integer = 5 Const COL_FINC As Integer = 8 Dim Aux As Range Dim Linha As Long Dim Proc As Long Dim Valor As String Set Aux = Compara.Cells(1).Offset(1, _ Compara.Columns.Count).Resize( _ Compara.Rows.Count - 1) If Aux(1, 1).Value = "" Then Aux.Formula = "=RC[-7]&RC[-6]&RC[-4]" For Linha = 2 To Tabela.Rows.Count Valor = CDbl(Tabela(Linha, COL_VENC).Value) & _ Tabela(Linha, COL_TTLO).Value & _ Tabela(Linha, COL_FINC).Value If WorksheetFunction.CountIf(Aux, Valor) <> 0 Then Proc = WorksheetFunction.Match(Valor, Aux, 0) Call Compara.Rows(Proc + 1).Copy( _ Tabela(Linha, Tabela.Columns.Count + 1)) End If Next Linha Aux.Clear End If End Sub
  24. @Scofieldgyn Dividir no sentido de copiar esses dados para outra aba com no máximo 1999 mil linhas? Aí no caso das 34 mil linhas teria umas 17 planilhas.
  25. @Klaus Bier Isso pode ser feito com macro. O loop pode pegar os dados da primeira tabela e procurar na outra para copiar a linha caso encontre os três valores.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!