Ir ao conteúdo

Excel Exibir o conteúdo das células durante 15 segundos.


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Boas @GENECIOFICIAL ,
Veja se é isto que pretende:
 

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
    
    'Coloca Valor
    ActiveSheet.Range("B1").Formula2R1C1 = "=IFERROR(INDEX(INDIRECT(""$B$""&ROW(XLOOKUP(RC[-1],R2C1:R151C1,R2C2:R151C2))):R[150]C, MATCH(FALSE,INDIRECT(""$B$""&ROW(XLOOKUP(RC[-1],R2C1:R151C1,R2C2:R151C2))):R[150]C="""",0)),""Não existe valor"")"
    
    'Tempo de Pausa
    Application.Wait (Now + TimeValue("0:00:15"))
    
    'Retira Valor
    ActiveSheet.Range("B1").Value2 = ""
End If

End Sub

 

Postado

@AfonsoMira Bom dia!

Muito obrigado por atender a minha solicitação.

Apresentou a seguinte mensagem de erro.

Pode verificar a ocorrência.

Grato.

29 minutos atrás, AfonsoMira disse:

Boas @GENECIOFICIAL ,
Veja se é isto que pretende:
 

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then
    
    'Coloca Valor
    ActiveSheet.Range("B1").Formula2R1C1 = "=IFERROR(INDEX(INDIRECT(""$B$""&ROW(XLOOKUP(RC[-1],R2C1:R151C1,R2C2:R151C2))):R[150]C, MATCH(FALSE,INDIRECT(""$B$""&ROW(XLOOKUP(RC[-1],R2C1:R151C1,R2C2:R151C2))):R[150]C="""",0)),""Não existe valor"")"
    
    'Tempo de Pausa
    Application.Wait (Now + TimeValue("0:00:15"))
    
    'Retira Valor
    ActiveSheet.Range("B1").Value2 = ""
End If

End Sub

 

 

A-M-E.jpg

Postado
2 minutos atrás, Midori disse:

@GENECIOFICIAL O que deve ser mostrado é a partir do valor de A1 até o último do intervalo B2:B151? Pegando o seu exemplo do número 10 teria que mostrar 8 valores, é isso?

Bom dia! Midori

 

O valor que eu digitar na célula A1,

o VBA deverá fazer a sequência até a última célula da coluna B, com  conteúdo.

Explicando com outras palavras, quero uma apresentação parcial ou total das mensagens.

 

Grato.

  • Solução
Postado

@GENECIOFICIAL Veja se é isto,

 

Cole no módulo da planilha,

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" And IsNumeric(Target.Value) Then
        Call IniciaConteudo(Target, [A2:A151])
    End If
End Sub

 

E este em um módulo de Inserir > Modulo,

Private Fim         As Long
Private Indice      As Long
Private Celula      As Range
Private Conta       As Long

Sub IniciaConteudo(rIni As Range, Area As Range)
    Fim = Area(Area.Rows.Count).Row
    Indice = 0
    Conta = 0
    Set Celula = Area.Find(What:=rIni.Value, LookIn:=xlValues, LookAt:=xlWhole)
    
    If Not Celula Is Nothing And Fim > rIni.Value Then
        Call MostraConteudo
    End If
End Sub

Sub MostraConteudo()
    Conta = Conta + 1
    If Conta < Fim Then
        Indice = Indice + 1
        If Celula(Indice, 2).Value <> "" Then
            [B1].Value = Celula(Indice, 1).Value & " de " & Fim & " " & Celula(Indice, 2).Value
            Call Application.OnTime(Now + TimeValue("00:00:15"), "MostraConteudo")
        Else
            Call Application.OnTime(Now, "MostraConteudo")
        End If
    End If
End Sub

 

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!