Página 1 de 1

Erro Overflow

Enviado: 09 Jun 2020 às 10:43
por rafarangel1512
Sempre que tento clicar no "Requisitar peças" aparece erro de overflow e sei que é neste excerto de código:

Private Sub UserForm_Initialize()
Dim num_itens As Integer, Linha As Integer
num_itens = Worksheets("Menu").Range("A" & Rows.Count).End(xlUp).Row - 1
For Linha = 1 To num_itens
Tipo.AddItem Worksheets("Menu").Range("A2").Cells(Linha, 1)
Next Linha
End Sub

Alguém me poderia ajudar a solucionar?
Imagem
Imagem

Re: Erro Overflow

Enviado: 09 Jun 2020 às 10:51
por babdallas
O limite superior positivo da variável de tipo Integer é 32.767. Por isso, troque para Long, cujo limite é bem superior. Veja os limites aqui:

https://docs.microsoft.com/en-us/office ... pe-summary

Logo, troque esta linha
Código: Selecionar todos
Dim num_itens As Integer, Linha As Integer
Por
Código: Selecionar todos
Dim num_itens As Long, Linha As Long

Erro Overflow

Enviado: 09 Jun 2020 às 11:10
por rafarangel1512
Isso pode ajudar mas o meu excel fica sem responder quando executo a macro

Re: Erro Overflow

Enviado: 09 Jun 2020 às 11:15
por babdallas
Tente isso
Código: Selecionar todos

Private Sub UserForm_Initialize()
      Dim num_itens As Long, Linha As Long

      num_itens = Worksheets("Menu").Range("A" & Rows.Count).End(xlUp).Row - 1
      
      For Linha = 1 To num itens
            VBA.DoEvents
            Tipo.AddItem Worksheets("Menu").Range("A2").Cells(Linha, 1)
      Next Linha
End Sub

Erro Overflow

Enviado: 09 Jun 2020 às 11:18
por rafarangel1512
Agradeço a disponibilidade mas continua com o mesmo erro não entendo o porquê

Re: Erro Overflow

Enviado: 09 Jun 2020 às 11:23
por babdallas
A célula A1048575 tinha algum caractere lá. Deletei tudo abaixo da última linha preenchida e acabou o problema.