Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. @Luiz Filipe Porto Será mais fácil ajudar se você der mais detalhes do que quer fazer. Explicando como os dados estão nas planilhas do diretório Teste e como você quer que eles sejam importados para a planilha Output que é onde tem a macro.
  2. @Luiz Filipe Porto Não é o nome do arquivo que deve ser especificado, mas da aba onde os dados devem ser colados. Se quiser colar tudo na mesma aba com o nome Tabela p.ex, o loop fica assim, Do Until Arquivo = "" Set Pasta = Workbooks.Open(Diretorio & Arquivo) Pasta.ActiveSheet.[A1].CurrentRegion.Copy With ThisWorkbook.Sheets("Tabela") Linha = .[A1].CurrentRegion.Rows.Count + 1 .Cells(Linha, 1).PasteSpecial End With Pasta.Close Arquivo = Dir Loop
  3. @Luiz Filipe Porto Essa linha procura a aba com o mesmo nome do arquivo. Você deve editar essa parte para o nome onde quer colar os dados.
  4. @Luiz Filipe Porto Acho melhor criar outro tópico para resolver isso.
  5. @Luiz Filipe Porto É assim mesmo.
  6. Faltou a barra no final, sem ela o nome do arquivo será concatenado com Teste.
  7. @levi feirreira A barra só é atualizada quando a macro chama a função do progresso, então isso teria que ser feito dentro das subs e não fora. Esses indicadores de progresso funcionam bem com iterações/loops. Se for esse o caso pegue o total geral para depois ir carregando a barra a cada iteração.
  8. @KM_aguiar Uma das formas é atribuindo a SMALLER a altura da primeira pessoa. Isso pode ser feito na primeira iteração que é quando I = 0, if(I == 0){ SMALLER = HEIGHT[I]; }
  9. @KM_aguiar Faltou fazer o que comentei sobre atribuir a SMALLER a altura da primeira pessoa. O que não ficou claro? Outra forma fácil, porém não recomendável de resolver, seria iniciar SMALLER um valor bem grande tipo 200.
  10. @Vitor Aguiar Gonçalves A variável SMALLER deve receber a primeira idade antes do teste da idade menor. Então você pode colocar outra condicional antes para atribuir a SMALLER a primeira altura. Ou então antes do loop pode atribuir os dados da primeira pessoa.
  11. @Vitor Aguiar Gonçalves Não pega a menor idade por que SMALLER foi iniciada com zero. E na condição da atribuição ela só recebe o valor se a idade for menor.
  12. @Luiz Filipe Porto Sem exito em que sentido? A macro busca as planilhas no diretório passado para a variável Diretorio. E o código pega toda a região da tabela de cada planilha a partir de A1. Caso a sua comece em outra célula edite a linha do CurrentRegion.
  13. @fe_12212 Amanhã a fórmula DIA(AGORA()) retornará o valor 17 e esse será o deslocamento a partir da coluna E. Então, p.ex, no dia 1 a fórmula vai contar a coluna F, no dia 2 a G, etc. Mas modifique o range para pegar só os dados a partir da linha 16 já que agora percebi que nas linhas acima tem as legendas que podem entrar na conta também.
  14. @Vitor Aguiar Gonçalves É só declarar outra variável int para usar como contador do seu vetor dos aprovados. Já que você tem uma condicional para atribuir os nomes, essa variável também receberá essa quantidade. int conta = 0; if((GRADE1[I] + GRADE2[I]) / 2 >= 6){ APPROVED[conta] = NAME[I]; conta += 1; } Depois a variável conta deve ser usada como o limite de nomes que devem ser apresentados no outro loop. Você declarou o vetor APPROVED com o tamanho N, mas ele receberá só os registros dos aprovados.
  15. @fe_12212 Veja se assim resolve, =CONT.SE(DESLOC(E:E;;DIA(AGORA()));"P")+CONT.SE(DESLOC(E:E;;DIA(AGORA()));"F")
  16. @fe_12212 Se anexar a planilha com dados fictícios será mais fácil ajudar. Mas você pode tentar usar outra fórmula, CORRESP talvez, para identificar a coluna onde o CONT.SE deve fazer a busca.
  17. Como assim específico? Se salvar a planilha no formato xlsm a macro vai ficar no módulo. Sobre os números ausentes, foi um exemplo de como podem ser criados, mas eles podem ser adicionados em qualquer outra aba e também removidos via macro.
  18. @Vitor Aguiar Gonçalves Retorna null porque está usando o mesmo contador da quantidade de alunos. O null é referente ao elemento que não recebeu nenhuma atribuição. Declare outro e incremente apenas nos aprovados.
  19. @Vitor Aguiar Gonçalves A condicional no seu loop deve comparar a idade como fez no código, mas atribua também o nome da pessoa mais velha, p.ex, if(idade > maior_idade){ mais_velha = nome; maior_idade = idade; } Depois é só mostrar com println, System.out.println("Pessoa mais velha: " + mais_velha);
  20. @Vitor Aguiar Gonçalves O enunciado não diz nada sobre vetores e dá para resolver sem criar um. Sobre pegar o nome, em vez de atribuir a idade declare uma variável String e atribua o nome.
  21. @Andressa Cristina da Silva Verifique se o caminho do diretório é esse mesmo.
  22. @Andressa Cristina da Silva Tentou executar no Word ou Excel? Essa macro é para o Word.
  23. @Andressa Cristina da Silva Qual é a linha do erro?
  24. @RickJF1976 É como o @Scofieldgyn comentou, não apareceu nenhum número porque a sua lista está no formato texto. Mesmo assim a macro não devia apresentar nenhum erro de execução. Para converter o range para número substitua a Sub Executa por esta, Sub Executa() Dim Area As Range Set Area = [B6:B34] Area.NumberFormat = "General" Area.Value = Area.Value Call Ausentes(Area, [AH6]) End Sub
  25. @nepsther Parece ser algo com o tipo do dado da senha, já que acontece com valores numéricos. Declare os tipos dos parâmetros como String, isso deve resolver. Sub validarUsuario(usuarioDigitado As String, senhaDigitada As String) Para buscar o usuário acho melhor usar a função Find em vez de fazer um loop. Com esse For a macro vai ficar mais lenta quando tiver mais usuários. Com Find já vai direto para a célula, p.ex, Sub Macro() Dim Usuario As String Dim Senha As String Usuario = "admin" Senha = "admin" If ValidaUsuario(Usuario, Senha) Then MsgBox "Bem vindo " & Usuario, vbOKOnly, "Acesso Permitido" End If End Sub Function ValidaUsuario(Usuario As String, Senha As String) As Boolean Dim Procura As Range Dim Tabela As ListObject Set Tabela = Sheets("dados").[dados].ListObject If Not Tabela.DataBodyRange Is Nothing Then Set Procura = Tabela.ListColumns("USUARIO").DataBodyRange.Find( _ What:=Usuario, LookIn:=xlValues, LookAt:=xlWhole) If Not Procura Is Nothing Then If Procura.Value = Usuario And Procura(1, 2).Value = Senha Then ValidaUsuario = True End If End If End If End Function

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!