Bom dia, senhores!
Peguei o seguinte código com o professor Avelino Sampaio há algum tempo atrás, funciona perfeitamente para inserir duas colunas, só que no momento agora, eu preciso da terceira coluna na Listbox2.
Trata-se de um código para atualizar uma Listbox (Listbox2) através de outra Listbox (Listbox1). Só que no momento atual não estou conseguindo incluir uma terceira coluna na Listbox2. A Listbox1 tem quatro colunas, nas quais preciso da informação de apenas três colunas.
Já tentei diversas formas mas não consegui nenhum sucesso. Tem como alguém me ajudar?
Segue o código desenvolvido por Avelino Sampaio...
Private Sub Lista_DblClick(Cancel As Integer)
Dim k, j() As String, l%, p%
'verifica se o nome já está na lista
k = Split(Me!Lista2.RowSource, ";")
For l = 1 To UBound(k) Step 2
If k(l) = Me!Lista.Column(1) Then
MsgBox "O nome já está na lista...", vbInformation, "Aviso"
Exit Sub
End If
Next
'limpa as matrizes
Erase k: Erase j
'Adiciona item selecionado na listbox 2
Me!Lista2.AddItem Me!Lista & ";" & Me!Lista.Column(1)
'captura a lista e passa para uma matriz
k = Split(Me!Lista2.RowSource, ";")
'redimensiona a matriz j em função do tamanho da matriz k
ReDim j(((UBound(k) + 1) / 2) - 1)
'passa o conteúdo da matriz k para a matriz j
p = 0
For l = 0 To UBound(k) Step 2
j(p) = k(l + 1) & "|" & k(l)
p = p + 1
Next
'ordena a matriz j em ordem alfabética
WizHook.SortStringArray j
'limpa a listbox 2
Me!Lista2.RowSource = ""
'remonta a listbox2 com os dados ordenados da matriz j
For l = 0 To UBound(j)
Me!Lista2.AddItem Mid(j(l), InStr(j(l), "|") + 1) & ";" & Left(j(l), InStr(j(l), "|") - 1)
Next
End Sub
Peguei o seguinte código com o professor Avelino Sampaio há algum tempo atrás, funciona perfeitamente para inserir duas colunas, só que no momento agora, eu preciso da terceira coluna na Listbox2.
Trata-se de um código para atualizar uma Listbox (Listbox2) através de outra Listbox (Listbox1). Só que no momento atual não estou conseguindo incluir uma terceira coluna na Listbox2. A Listbox1 tem quatro colunas, nas quais preciso da informação de apenas três colunas.
Já tentei diversas formas mas não consegui nenhum sucesso. Tem como alguém me ajudar?
Segue o código desenvolvido por Avelino Sampaio...
Private Sub Lista_DblClick(Cancel As Integer)
Dim k, j() As String, l%, p%
'verifica se o nome já está na lista
k = Split(Me!Lista2.RowSource, ";")
For l = 1 To UBound(k) Step 2
If k(l) = Me!Lista.Column(1) Then
MsgBox "O nome já está na lista...", vbInformation, "Aviso"
Exit Sub
End If
Next
'limpa as matrizes
Erase k: Erase j
'Adiciona item selecionado na listbox 2
Me!Lista2.AddItem Me!Lista & ";" & Me!Lista.Column(1)
'captura a lista e passa para uma matriz
k = Split(Me!Lista2.RowSource, ";")
'redimensiona a matriz j em função do tamanho da matriz k
ReDim j(((UBound(k) + 1) / 2) - 1)
'passa o conteúdo da matriz k para a matriz j
p = 0
For l = 0 To UBound(k) Step 2
j(p) = k(l + 1) & "|" & k(l)
p = p + 1
Next
'ordena a matriz j em ordem alfabética
WizHook.SortStringArray j
'limpa a listbox 2
Me!Lista2.RowSource = ""
'remonta a listbox2 com os dados ordenados da matriz j
For l = 0 To UBound(j)
Me!Lista2.AddItem Mid(j(l), InStr(j(l), "|") + 1) & ";" & Left(j(l), InStr(j(l), "|") - 1)
Next
End Sub