Ir ao conteúdo

Posts recomendados

Postado

Pessoal bom dia, estou desenvolvendo um sistema no vba de cadastro em que após a realização de uma atividade, ela é registrada no sistema de acordo com a data em que foi realizada, e isso eu faço por meio de um filtro, quando eu filtro a data aparece a atividade daquele dia. A minha planilha a data está colocada em colunas, onde cada coluna é um dia do mês em ordem crescente, no meu caso as datas estão da coluna 40 até a 70. O porém é que não estou conseguindo fazer a leitura das datas em cada coluna, apenas uma coluna por vez. Tipo, consigo fazer a leitura da data na coluna 40, mas não consigo fazer pra todo o intervalo de 40 a 70, que pega todos os dias do mês. Gostaria muito da ajuda de vcs. Abaixo segue o código pra esta parte da data que estou desenvolvendo.

 

 

Private Sub txt_data_Change()

Application.ScreenUpdating = False

Dim Linha As Integer
Dim coluna As Integer
Dim LinhaListBox As Integer
Dim Valor_data As String
Dim W As Worksheet
Dim Valor_Pesq As String



Valor_Pesq = Me.txt_data
Set W = Sheets("ARQUIVO")
W.Select

LinhaListBox = 0
Linha = 2
coluna = 40



Lst_Busca.Clear


    With W
    

    While .Cells(Linha, 5).Value <> Empty
        'For coluna = 40 To 70
   
    Valor_data = .Cells(Linha, coluna).Value
    

        If UCase(Valor_data) = UCase(Valor_Pesq) Then
      
       
            With Me.Lst_Busca

                .AddItem
                .List(LinhaListBox, 0) = Cells(Linha, 1)
                .List(LinhaListBox, 1) = Cells(Linha, 2)
                .List(LinhaListBox, 2) = Cells(Linha, 3)
                .List(LinhaListBox, 3) = Cells(Linha, 4)
                .List(LinhaListBox, 4) = Cells(Linha, 5)
                .List(LinhaListBox, 5) = Cells(Linha, 6)

            LinhaListBox = LinhaListBox + 1
            End With

        End If
        Linha = Linha + 1
    
    Wend
        'Next coluna
    End With


Me.Registros.Object = Me.Lst_Busca.ListCount & " Registro(s)"

Application.ScreenUpdating = True


End Sub

 

Postado

Experimente usar o Find, exemplo:

Set Rng = .Range("AN2:BR1000").Find(What:=Me.txt_data.Text, LookIn:=xlValues, LookAt:=xlWhole, _
                                    MatchCase:=False, SearchFormat:=False)

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!