Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Dunguinha 13 Jul 2019 às 01:27
Membro 1 Estrela
Mensagens: 21
Reputação: 1
#45539
Como posso resolver o problema da pasta em anexo que da da msg que não foi possível executar a macro.
Basta colocar um na valor na célula colorida e teclar enter.
Apenas usuários registrados podem ver ou baixar anexos.
Por babdallas 13 Jul 2019 às 09:05
Membro 5 Estrelas
Mensagens: 2067
Reputação: 919
#45540
Veja se é isso.

Código do módulo
Código: Selecionar todosPublic lngCont     As Long

Public Sub Alerta(iLin As Long, iCol As Long, iCont As Long)
    Dim strProc     As String
   
    strProc = "'Alerta " & iLin & ", " & iCol & ", " & iCont & " '"
   
    With Sheets(1).Cells(iLin, iCol).Interior
        If .Color = vbRed Then
           .Color = vbYellow
        Else
           .Color = vbRed
        End If
    End With
   
    lngCont = lngCont + 1
    If lngCont <= iCont Then
        If ActiveSheet.Name = "Plan1" Then
           Application.OnTime Now + TimeValue("00:00:01"), strProc
        End If
    End If
   
End Sub


Código do evento Change
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
   
    lngCont = 0
   
   If Target.Address = "$D$3" And Target.Value2 > 0 Then Alerta 3, 4, 1
   
    Application.EnableEvents = True
End Sub
Apenas usuários registrados podem ver ou baixar anexos.
Por babdallas 13 Jul 2019 às 12:04
Membro 5 Estrelas
Mensagens: 2067
Reputação: 919
#45543
Tente substituir esta parte do código:
Código: Selecionar todoslngCont = lngCont + 1
    If lngCont <= iCont Then
        If ActiveSheet.Name = "Plan1" Then
           Application.OnTime Now + TimeValue("00:00:01"), strProc
        End If
    End If


por esta
Código: Selecionar todosIf ActiveSheet.Name = "Plan1" Then
           Application.OnTime Now + TimeValue("00:00:01"), strProc
       End if


Não testei, mas provavelmente vai ficar executando isso o tempo todo. Não sei se vai ficar legal não.

Agora, qual o motivo de deixar a célula piscando? Simplestemente deixar de um cor que chame a atenção ou enviar uma mensagem não resolveria?
Por Dunguinha 13 Jul 2019 às 14:47
Membro 1 Estrela
Mensagens: 21
Reputação: 1
#45546
Agora, qual o motivo de deixar a célula piscando? Simplesmente deixar de um cor que chame a atenção ou enviar uma mensagem não resolveria?
A ideia é chamar a atenção do usuário para não repetir um número que não deve. Coisa de "VB Maníaco", se é que me entende, rsrs.