Ir para conteúdo
Fórum Script Brasil

ElvisNoleto

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que ElvisNoleto postou

  1. Boa tarde! Pessoal desculpe se as minhas perguntas forem bobas. Vou tentar ser o mais claro possível. seguinte... Criei um código VBA no excel para comparar duas abas de uma planilha e copiar valores caso as minhas condições sejam verdadeiras, (vou dar exemplo) eu consegui criar o código e ele funciona perfeitamente só que o problema é que se eu usar o código mais de 4 vezes o meu Pc entra em colapso (Intel Core i7 4ghz, 8gb de memória com placa de vídeo 2gb) se alguém souber alguma forma de otimizar o código para evitar travamento eu agradecerei infinitamente. Ex Planilha: Na planilha aba A temos na linha 1 o número 10 seguindo a linha temos uma série de dados como sala de aula e outros. Na aba B temos nomes que quero atribuir as linhas da aba A. os nomes dos alunos são Numerados tendo lá alguns alunos com o número 1 o mesmo que tem na aba A. Então a idéia da macro é atribuir automaticamente o nome do aluno á sala com número correpondente e caso tenha mais de um aluno com o mesmo número então serão divididos igualmente pelas salas. tá chega de baboseira vamos ao código. Sub Copiar() Sheets("Alunos").Select Range("G2").Select ActiveCell.FormulaR1C1 = "=COUNTA('Salas'!C2)" 'Conta os valores para o for não ser excessivamente grande Calculate a = Range("G2").Value Contador = 2 For X = 1 To a Sheets("Salas").Select If Sheets("Salas").Cells(X, 9) = "1" Then If Sheets("Salas").Cells(Contador, 1) = "" Then Contador = 2 Else Contador = Contador + 1 'FAZ UM LOOP CASO OS ALUNOS ACABEM End If If Sheets("Alunos").Cells(Contador, 3) = "1" Then Sheets("Salas").Cells(X, 1) = Sheets("Alunos").Cells(Contador, 1) Else X = X - 1 'Evita que pule linhas End If End If Next X ' Recomeça o valor do For End Sub Assim funciona só que se eu for usar mais critérios para separar pra mais salas tipo refazer para contar e separar também para o número "2". O computador trava, eu sinceramente não sei se tem um bug na minha fórmula ou se tem outro jeito de usá-lo pra otimizar processamento. Agradeço pela atenção.
×
×
  • Criar Novo...