Usuário com melhor resposta
Verificar todas as possibilidades entre duas matrizes?

Pergunta
-
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.
Anderson Diniz diniabr2011@gmail.com
- Editado AndersonFDiniz2 sexta-feira, 3 de novembro de 2017 18:42
Respostas
-
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
Anderson Diniz diniabr2011@gmail.com
- Marcado como Resposta AndersonFDiniz2 sexta-feira, 3 de novembro de 2017 22:46
Todas as Respostas
-
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
Anderson Diniz diniabr2011@gmail.com
- Marcado como Resposta AndersonFDiniz2 sexta-feira, 3 de novembro de 2017 22:46
-