Boa noite, estou com um pequeno problema, tenho que encadear 3 ComboBox, a 1ª e a 2ª está tudo bem, mas a 3ª não funciona.
Será que poedriam analisar o código abaixo e dizer-me como corrigir esta situação.
'Private Sub ComboBoxProdutos_Change()
' Call CarregaSeccoes(Me.ComboBoxProdutos(Me.ComboBoxProdutos.ListIndex))
'End Sub
Private Sub ComboBoxCategorias_Change()
Call CarregaProdutos(Me.ComboBoxCategorias.List(Me.ComboBoxCategorias.ListIndex))
End Sub
Private Sub ComboBoxSeccoes_Change()
End Sub
Private Sub UserForm_Initialize()
Call CarregaCategorias
End Sub
Private Sub CarregaCategorias()
Dim linha As Integer, coluna As Integer
linha = 2
coluna = 1
Me.ComboBoxCategorias.Clear
With Sheets("Categorias")
Do While Not IsEmpty(.Cells(linha, coluna))
Me.ComboBoxCategorias.AddItem .Cells(linha, coluna).Value
linha = linha + 1
Loop
End With
End Sub
Private Sub CarregaProdutos(ByVal Categoria As String)
Dim linha As Integer, colunaProduto As Integer, colunaCategoria As Integer
linha = 2
colunaProduto = 1
colunaCategoria = 2
Me.ComboBoxProdutos.Clear
With Sheets("Produtos")
Do While Not IsEmpty(.Cells(linha, colunaProduto))
If .Cells(linha, colunaCategoria).Value = Categoria Then
Me.ComboBoxProdutos.AddItem .Cells(linha, colunaProduto).Value
End If
linha = linha + 1
Loop
End With
End Sub
Private Sub CarregaSeccoes(ByVal Produto As String)
Dim linha As Integer, colunaSeccao As Integer, colunaProduto As Integer
linha = 2
colunaSeccao = 1
colunaProduto = 2
Me.ComboBoxSeccoes.Clear
With Sheets("Seccoes")
Do While Not IsEmpty(.Cells(linha, colunaSeccao))
If .Cells(linha, colunaProduto).Value = Produto Then
Me.ComboBoxSeccoes.AddItem .Cells(linha, colunaSeccao).Value
End If
linha = linha + 1
Loop
End With
End Sub
Postado : 22/10/2012 1:10 pm