Notifications
Clear all

Ajuste na macro

3 Posts
3 Usuários
0 Reactions
1,247 Visualizações
(@barison28)
Posts: 56
Trusted Member
Topic starter
 

Bom dia,

venho aqui de novo pedir mais uma vez ajuda.

tenho essa planilha que usamos para outros fins, mas alterei ela para uma avaliação que temos na empresa uma vez por ano que entrevista os funcionarios.

quando clica no botao de lançar joga os dados para aba relatório apenas data matricula e qtd de acerto e erro, eu tentei alterar mas da erro de if e end if caso alguem possa ajudar em ajustar a essa nescessidade, ficarei muito grato.

outra duvida é separar a quantidade de acertos e erros por setor:
exemplo:
o setor de manutenção tem 50 funcionários e nas questões 01;02;05;08;11;13 teve 30 funcionário que errou, mas fazer por setor, tem uma aba de setor no arquivo.

eu tentei usar algumas formulas mas não dei conta:

vou postar a macro aqui para nao ficar grande o anexo.

Sub lançamento()

Dim quando As Date
Dim quem As Variant
Dim frota As Variant
Dim codigo As Variant
Dim item As Variant
Dim anomalia As Variant
Dim os As Variant
Dim opc As Integer

Dim aux As Integer

aux = 11
    If (Range("c4").Text <> "" And Range("c6").Text <> "-" And Range("c8").Text <> "-") Then
    quando = DateValue(Range("c4").Text)
    quem = Range("c8").Text
    frota = Range("c5").Text
      Do While Cells(aux, 2) <> ""
      codigo = Cells(aux, 2)
        If Cells(aux, 3) <> "---------------------------------------" And Cells(aux, 5) <> "" And Cells(aux, 7) <> "" Then
        anomalia = Cells(aux, 5)
        os = Cells(aux, 7)
        Call Insere(quando, quem, frota, codigo, anomalia, os)
        End If
        
        If Cells(aux, 3) <> "---------------------------------------" And Cells(aux, 6) <> "" And Cells(aux, 7) <> "" Then
        anomalia = Cells(aux, 6)
        os = Cells(aux, 7)
       Call Insere(quando, quem, frota, codigo, anomalia, os)
        End If
    
      aux = aux + 1
      Loop
      
      
      Else
      MsgBox "Insira todos os parâmetros", vbCritical, "Erro"
    End If


End Sub


Function Insere(quando As Date, quem As Variant, frota As Variant, codigo As Variant, anomalia As Variant, os As Variant)
Dim linhas As Integer
 
Plan4.Select
Plan4.Unprotect

linhas = Range("o1").Value
Cells(linhas, 1) = quando
Cells(linhas, 5) = quem
Cells(linhas, 2) = frota
Cells(linhas, 11) = codigo
Cells(linhas, 13) = anomalia
Cells(linhas, 14) = os

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowSorting:=True, AllowFiltering:=True

Plan1.Select

End Function
 
Postado : 26/07/2018 7:46 am
(@klarc28)
Posts: 971
Prominent Member
 

Primeira coisa:

em todos os lugares em que está escrito Range, mude para Sheets("planilhatal").Range

Se o erro persistir, retorne com o código já alterado, pois não conhecemos o projeto e fica difícil saber a qual planilha o código se refere.

 
Postado : 26/07/2018 10:47 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Colega barison28 , é importante criar o habito de escrever o caminho completo. Muitos erros de código acontecem justamente por escrevê-lo pela metade.

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 26/07/2018 10:53 am