Ir ao conteúdo

VBA Excel Limpar variável


josmai08

Posts recomendados

Postado
Private Sub cx_codigo_Click()

 

    l_registradas = Worksheets("l1").UsedRange.Rows.Count

        For i = 2 To l_registradas

            If cx_codigo.ListIndex = i - 2 Then

                cx_nome_linha = Worksheets("l1").Cells(i, 2)

                cx_frota = Worksheets("l1").Cells(i, 3)

                ComboBox14 = ""

                    For i1 = 1 To Worksheets("l1").Cells(i, 3)

                        If i1 <= Worksheets("l1").Cells(i, 3) Then

                            ComboBox14.AddItem i1

                        End If

                    Next

            Exit Sub

            End If

        Next

       

End Sub

 

Este código preenche uma caixa de combinação "LIsta", só que esta acumulando os números na variável, por exemplo se a primeira sequencia for 123 e a segunda for 12345 a caixa vai ser preenchida assim 12312345 e assim por diante, gostaria de limpar a variável toda vez que o comando for acionado, do jeito que está só limpa quando eu fecho o formulário e abro novamente.

 

como limpar a variável

 

Postado

Declara as variáveis.

 

Private Sub cx_codigo_Click()

 

DIM l_registradas, cx_codigo.ListIndex, cx_nome_linha, cx_frota

 

    l_registradas = Worksheets("l1").UsedRange.Rows.Count

        For i = 2 To l_registradas

            If cx_codigo.ListIndex = i - 2 Then

                cx_nome_linha = Worksheets("l1").Cells(i, 2)

                cx_frota = Worksheets("l1").Cells(i, 3)

                ComboBox14 = ""

                    For i1 = 1 To Worksheets("l1").Cells(i, 3)

                        If i1 <= Worksheets("l1").Cells(i, 3) Then

                            ComboBox14.AddItem i1

                        End If

                    Next

            Exit Sub

            End If

        Next

      

End Sub

Postado

Está declarada dentro do for, está errado?

E depois de declara-la nos atributos como faço para esvaziar todas as vezes que o loop parar, sem que seja preciso fechar o formulário?

Postado

você chama a variável dentro do For, você não declara.

Quando declara com o Dim o VBA limpa a variável e isso funciona sempre q você acionar a macro.

 

Um bom código sempre deve ser precedido pela declaração das variáveis, até p/ você não se perder.

Postado

Valeu achei a solução aqui.

 

 

 

quando eu colocava

ComboBox14 = ""

eu estava limpando apenas o campo visível da caixa de combinação,

para limpar a lista eu precisei adicionar a linha

ComboBox14 = clear

 

o problema não era a variável era a combobox

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!