Notifications
Clear all

Matriz VBA

3 Posts
2 Usuários
0 Reactions
912 Visualizações
(@tiagovp)
Posts: 5
Active Member
Topic starter
 

Beleza galera!!

Estou com um dúvida em uma macro, quem puder me da uma força eu agradeço.A dúvida é a seguinte, na verdade
é mais precisamente na escrita do código.Preciso indentificar dentro de uma matriz (2,2) por exmplo, com todas as céluas preenchidas inicialmente, quais
números são maiores que dez na matriz, por exmplo: endereço (linha x coluna ou (i,j)), (1,1)=2, (1,2)=11, (2,1)=15 , (2,2)= 5,
Preciso que uma outra célula qualquer da planilha, informe quantas vezes é encontrado o valor maior que dez nessa matriz.Escrevi o código abaixo, mas não está dando certo.Preciso fazer com que o loop "ande" celula por celula testando essa condição.

Public Sub teste01()
Dim matrizteste(3, 3) As Integer
Dim i As Integer
Dim j As Integer
Dim Planilha As Worksheet
Set Planilha = Worksheets("plan2")
Range("d5").Value = 0
For i = 1 To 3
For j = 1 To 3
If Range(i, j) > 10 Then
Range("d5").Value = Range("d5").Value + 1
Next j
Next i
End Sub

 
Postado : 08/01/2014 6:42 am
(@tacito)
Posts: 67
Trusted Member
 

Não sei se entendi direito, mas acho que a sua matriz vai da célula A1 até a célula C3, e você vai postar o resultado na célula D5.

Se for isso acho que o código abaixo vai funcionar

Public Sub teste01()

Dim matrizteste(3, 3) As Integer
Dim i As Integer
Dim j As Integer
Dim Planilha As Worksheet

Set Planilha = Worksheets("plan2")

Range("d5").Value = 0

For i = 1 To 3

    For j = 1 To 3
    
        If Cells(i, j) > 10 Then
        
            Range("d5").Value = Range("d5").Value + 1
        
        End If
    
    Next j

Next i

End Sub

Só alterei essa linha:

If Range(i, j) > 10 Then

por

If Cells(i, j) > 10 Then

 
Postado : 08/01/2014 6:58 am
(@tiagovp)
Posts: 5
Active Member
Topic starter
 

Valeu brother, quebrou um galhão.

 
Postado : 10/01/2014 4:15 am