gostaria de ajuda na estruturação de uma macro
ela tem que formar uma lista da indicação de outras listas
até tinha começado bem mas não sei onde deu nó na minha cabeça e acabei estragando o código todo
e agora não consigo nem refazer oq já estava pronto por causa das ideias múltiplas
basicamente seria um codigo semi recursivo com verificador
Sub substitui()
Dim tib(1 To 10)
tib(1) = "3;5;7"
tib(2) = 4
tib(3) = 0
tib(4) = "3;0;6"
tib(5) = 0
tib(6) = "9;0"
tib(7) = 0
tib(8) = "1;0"
tib(9) = 0
tib(10) = 0
n = 2
MsgBox Join(Forma_Lista(tib, n), ";")
' para o 1 o resultado tem que ser
'3;5;7 ----- por que todos tem 0 como valor
'para o 2 o resultado seria 3;4;9;6
'quando tiver 0 o resultado tem que ser o numero do indice no caso o endereço da matriz
'ainda tenho que definir pontos de ferificação de profundidade caso em algum ponto um deles idique algum que inicie loop infinito
End Sub
infelizmente eu acabei bagunçando o codigo e só estou postando para terem uma ideia
Function Forma_Lista(lista As Variant, ByVal linha As Long) As Variant
Dim C As Long, tem As Boolean
Le_Lista:
cis = Split(lista(linha), ";")
If lista(linha) <> 0 Then
tem = False
For C = 0 To UBound(cis)
d = Split(lista(cis(C)), ";")
If UBound(d) > 0 Then
cis(C) = lista(cis(C))
d = Split(lista(cis(C)), ";")
If UBound(d) > 0 Then tem = True
End If
If UBound(d) > 0 Then
End If
Next
If tem Then linha = 1: lista(linha) = Join(cis, ";"): GoTo Le_Lista
End If
Forma_Lista = cis
End Function
a listas gerada tem que ser formadas na ordem de aparição de cada indice
Postado : 12/12/2016 11:31 am