ACHANDO E REMOVENDO ITENS
Boa Tarde pessoal. Estou tentando fazer um código e não consigo.
Eu quero que o programa pegue o primeiro item da list2, e compare com todos os itens da list1.
Se ele encontrar todos os numeros do iten da list2 dentro de algum item da lista1. então ele remove
o item correspondente da lista1, e adiciona o item da lista2 na lista 3. E depois continue com o segundo item da list2, ate o ultimo.
Já tentei com Mid, com split, mas náo consigo.
Se alguem puder me ajudar ficarei muito grato.
Nãó sei se ajuda mas anexei um exemplo.
Eu quero que o programa pegue o primeiro item da list2, e compare com todos os itens da list1.
Se ele encontrar todos os numeros do iten da list2 dentro de algum item da lista1. então ele remove
o item correspondente da lista1, e adiciona o item da lista2 na lista 3. E depois continue com o segundo item da list2, ate o ultimo.
Já tentei com Mid, com split, mas náo consigo.
Se alguem puder me ajudar ficarei muito grato.
Nãó sei se ajuda mas anexei um exemplo.
Trindadi:
A descrição do teu problema ta muito vazia. Que tipo de dado a LIST1 guarda? E a LIST2?
Qual código tu está tentando usar?
E o anexo não veio pro fórum.
A descrição do teu problema ta muito vazia. Que tipo de dado a LIST1 guarda? E a LIST2?
Qual código tu está tentando usar?
E o anexo não veio pro fórum.
Cara, e só usar 2 laços for com teste if
exemplo
for cont = 0 to list1.listcount -1
for cont2 = 0 to list1.listcount -1
if list2.list(cont) = list1.list(cont2) then
list1.remoItem cont2
list3.add = list2.list(cont)
end if
next cont2
next cont
[ô]não testei mas e o jeito..
exemplo
for cont = 0 to list1.listcount -1
for cont2 = 0 to list1.listcount -1
if list2.list(cont) = list1.list(cont2) then
list1.remoItem cont2
list3.add = list2.list(cont)
end if
next cont2
next cont
[ô]não testei mas e o jeito..
Vou exemplificar aqui mesmo.
List1 List2
01 02 03 04 05 01 06 09
01 03 05 06 07 02 05 07
02 03 05 07 08
02 03 05 06 09
Ele pega o primeiro da list2, compara com todos da list1. Se achar esse numeros dentro de algum item da list1, ele
remove da list1. Note que com o primeiro item da list2, ele náo removeria nenhum item da list1, pois não existe
nenhum item da list1 que contem o primeiro da list2.
O segundo item da lista2, removeria o penultimo da list1, pois 02 05 07, esta no item 02 03 05 07 08, da list1.
Quem tiver a solução eu agradeço.
List1 List2
01 02 03 04 05 01 06 09
01 03 05 06 07 02 05 07
02 03 05 07 08
02 03 05 06 09
Ele pega o primeiro da list2, compara com todos da list1. Se achar esse numeros dentro de algum item da list1, ele
remove da list1. Note que com o primeiro item da list2, ele náo removeria nenhum item da list1, pois não existe
nenhum item da list1 que contem o primeiro da list2.
O segundo item da lista2, removeria o penultimo da list1, pois 02 05 07, esta no item 02 03 05 07 08, da list1.
Quem tiver a solução eu agradeço.
Ah se acharem mais facil, pode ser com Listview.
olha na realidade o componente não facilita ou dificulta, ou só facilita ou dificulta um pouco, o negocio é a lógica, bom tente este código.
Dim Vetor1() As String
Dim Vetor2() As String
Dim Iguais As Integer
Iguais = 0
For l1 = 0 To List1.ListCount - 1
Vetor1 = Split(List1.List(l1), [Ô] [Ô])
For l2 = 0 To List2.ListCount - 1
Vetor2 = Split(List2.List(l2), [Ô] [Ô])
For v2 = 0 To UBound(Vetor2)
For v1 = 0 To UBound(Vetor1)
If Vetor2(v2) = Vetor1(v1) Then
Iguais = Iguais + 1
End If
Next v1
Next v2
If Iguais = 3 Then
List3.AddItem List1.List(l1)
List1.RemoveItem (l1)
Iguais = 0
l1 = 0
Else
Iguais = 0
End If
Next l2
Next l1
Obrigado pela resposta. O seu codigo dá um erro de tempo de execução. Mas acho que o caminho é este mesmo
apenas acertar alguma coisa na ordenação.... alguma coisa assim
apenas acertar alguma coisa na ordenação.... alguma coisa assim
colega tem que ver que erro é este e em que linha ele se dá
pois aqui funcionou
pois aqui funcionou
Opa vou ver o que esta acontecendo.
Aqui da erro em tempo de execução 424
O objeto é obrigatório
A linha é
For l1 = 0 To List1.ListCount - 1
Mais uma vez obrigado
Aqui da erro em tempo de execução 424
O objeto é obrigatório
A linha é
For l1 = 0 To List1.ListCount - 1
Mais uma vez obrigado
Opss. já acertei o erro anterior, agora ta dando outro
Erro em tenpo de execução 381
Não foi possivel obter a propriedade List. Indice de propriedade de matriz invalido.
Obs: Ele executa e apresenta o erro.
Erro em tenpo de execução 381
Não foi possivel obter a propriedade List. Indice de propriedade de matriz invalido.
Obs: Ele executa e apresenta o erro.
Ah desculpe é na linha
Vetor1 = Split(ListBox1.List(l1), [Ô] [Ô])
Vetor1 = Split(ListBox1.List(l1), [Ô] [Ô])
Tópico encerrado , respostas não são mais permitidas