Ir ao conteúdo

OreiaG

Membro Pleno
  • Posts

    374
  • Cadastrado em

  1. @Batista.fcm Que bom que funcionou. Ficamos contentes por você ter encontrado uma solução. Deus lhe abençoe também, saúde, paz e sucesso.
  2. Segue um código meio que na adivinhação pois o layout é totalmente diferente do modelo simplificado anexado ao post #7 e você não colocou o resultado desejado e não passou qualquer explicação. Sub ReplicaDados_V2() Dim cO As Long, i As Long, v As Long, LC As Long, dtO As Range Dim cD As Long, rD As Long, k As Long, Narr(1 To 16000) [D20:AOP25] = "" Application.ScreenUpdating = False k = Application.CountA(Range("D3:AOP16")) LC = Rows("3:16").Find(what:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column For cO = 4 To LC If Application.CountA(Cells(3, cO).Resize(14)) > 0 Then For Each dtO In Cells(3, cO).Resize(14).SpecialCells(2) Narr(i + 1) = dtO.Value: i = i + 1 Next dtO End If Next cO For v = LBound(Narr) To UBound(Narr) Cells(20 + rD, 4 + cD) = Narr(v): rD = rD + 1 If v = k Then Exit Sub ElseIf v Mod 6 = 0 Then rD = 0: cD = cD + 1 End If Next v End Sub obs. 1. antes de testar remova o texto FIM da célula AOP16 2. para o correto funcionamento do código acima as células à direita de AOP3:AOP16 deverão permanecer vazias 3. "Destino a partir de D20:AOP25" >>> a partir de D20:D25
  3. Olá, @Batista.fcm "aproveito também para deixar a imagem caso sirva de ajuda." Não é possível testar macros em imagens, então precisamos do arquivo Excel com os dados relevantes e o resultado desejado na planilha.
  4. Sim, podemos tentar ajudar, mas precisamos que você nos Informe com exatidão o significado de "atender um numero maior de celulas". (células)
  5. Olá, @Batista.fcm Segue uma solução, caso você queira experimentar. Considerei a origem dos dados em D11:O16 e o destino a partir de AF11:AF16. Retorne se precisar ajustes nesses intervalos. Sub ReplicaDados() Dim cO As Long, rO As Long, i As Long, v As Long Dim cD As Long, rD As Long, k As Long, Narr(1 To 100) [AF11:AM16] = "" k = Application.CountA(Range("D11:O16")) For cO = 4 To 15 For rO = 11 To 11 + Application.CountA(Cells(11, cO).Resize(6)) - 1 Narr(i + 1) = Cells(rO, cO).Value: i = i + 1 Next rO Next cO For v = LBound(Narr) To UBound(Narr) Cells(11 + rD, 32 + cD) = Narr(v): rD = rD + 1 If v = k Then Exit Sub ElseIf v Mod 6 = 0 Then rD = 0: cD = cD + 1 End If Next v End Sub
  6. Em todo o Projeto VBA fiz a substituição de Planilha5xxx por Sheets("Relatorio") e o erro não ocorre. Veja se funciona aí. 1. abra o editor de VBA 2. aperte Ctrl+l para abrir a caixa Localizar/Substituir 3. no campo Localizar coloque Planilha5111 4. no campo Substituir coloque Sheets("Relatorio") 5. marque Projeto atual 6. clique em Substituir todas Repita a sequência acima duas vezes mudando somente para Planilha511 e por último para Planilha51 Em seguida faça os testes.
  7. Para facilitar, anexe no fórum o seu arquivo Excel com a macro (é preciso comprimir o arquivo com macro para poder anexá-lo. Informe o resultado que você está obtendo ao executar a macro e informe qual é o resultado desejado. Forneça exemplos,
  8. Veja se esta abaixo atende. =CONT.SES(F$2:F$121;">="&I3;F$2:F$121;"<="&J3)
  9. Experimentou compactar o arquivo antes de tentar anexar?
  10. 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))
  11. @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.
  12. Experimente a fórmula abaixo em H3. =D3*0,25+E3*0,5+F3*0,75+G3+(G3>0)*C3
  13. 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.
  14. 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.

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