Notifications
Clear all

Verificar todas as possibilidades entre duas matrizes?

3 Posts
2 Usuários
0 Reactions
928 Visualizações
(@anderdiniz)
Posts: 0
New Member
Topic starter
 
LINHA = 2
    
    While ThisWorkbook.Sheets("5VELAS").Cells(LINHA, 1) <> ""
        
        '
        '    MATRIZMARCADOS(1) = frmAnalise.chkAjuste.Value
        '    MATRIZMARCADOS(2) = frmAnalise.chkDirecao.Value
        '    MATRIZMARCADOS(3) = frmAnalise.chkLocalDia.Value
        '    MATRIZMARCADOS(4) = frmAnalise.chkLocalDiaAnterior.Value
        '    MATRIZMARCADOS(5) = frmAnalise.chkMaxima.Value
        '    MATRIZMARCADOS(6) = frmAnalise.chkSombra.Value
        '    MATRIZMARCADOS(7) = True 'GAP
        '    MATRIZMARCADOS(8) = True 'PM
        
        
        MATRIZRESULTADOS(LINHA - 1, 1) = MATRIZAJUSTE(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 2) = MATRIZDIRECAO(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 7) = MATRIZGAP(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 3) = MATRIZLOCALDIA(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 4) = MATRIZLOCALDIAANTERIOR(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 5) = MATRIZMAXIMADIAANTERIOR(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 8) = MATRIZPM(LINHA - 1)
        MATRIZRESULTADOS(LINHA - 1, 6) = MATRIZSOMBRAS(LINHA - 1)
        
        LINHA = LINHA + 1
        
    Wend

Preciso de um procedimento que faça o cruzamento entre todas as posições da MATRIZRESULTADOS com a MATRIZMARCADOS.

Se a MATRIZMARCADOS, por exemplo, nas posições 4,5,6,7,8, estiver com valores verdadeiros, preciso verificar se a MATRIZRESULTADOS também está com os valores verdadeiros nas mesmas posições.

Se os pares forem verdeiro com verdadeiro, jogo o valor da coluna A da planilha para a listbox.

Mas só considero os casos verdadeiros da MATRIZMARCADOS e verifico se também são verdadeiros na MATRIZRESULTADOS.

Os números das linhas nas duas matrizes são os mesmos.

 
Postado : 03/11/2017 1:48 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

anderdiniz,

Boa tarde!

Anexe um arquivo exemplo aqui mesmo no fórum, compactado com .ZIP, mostrando, inclusive, como seria o resultado que você gostaria. Isso facilitará a rápida ajuda por parte de todos.

 
Postado : 03/11/2017 2:04 pm
(@anderdiniz)
Posts: 0
New Member
Topic starter
 
 LINHA = 2
    
    While ThisWorkbook.Sheets("5VELAS").Cells(LINHA, 1) <> ""
        
           
        Dim comparacao As Boolean
        comparacao = False
        Dim k As Integer
        
        For k = 1 To 8
            If MATRIZMARCADOS(k) = True Then
                If MATRIZRESULTADOS(LINHA - 1, k) = True Then
                    comparacao = True
                Else
                    comparacao = False
                    Exit For
                    
                    
                End If
            End If
        Next k
        
        If comparacao = True Then
        
        frmAnalise.lstPesquisaResultados.AddItem (ThisWorkbook.Sheets("Planilha1").Cells(LINHA, 1).Value)
        
        End If
        
        LINHA = LINHA + 1
        
    Wend
   
 
Postado : 03/11/2017 2:06 pm