Notifications
Clear all

Matriz VBA

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

Beleza galera!
Estou com uma dúvida na montagem de um código, se puderem me ajudar ficarei agradecido. A dúvida segue da seguinte forma:
Tenho um matriz de (LXC ou I,J) de 5x1.Preciso fazer com que o loop ande por cada célula verificando ou testando se nas células anteriores, já ocorreu um valor igual ao valor (Podendo ser um valor numérico, por exemplo) da célula que está sendo testada, caso tenha ocorrido, então essa célula assume um “valor” vazio, senão assumirá um valor de uma outra célula qualquer, da mesma planilha, que tem como valor uma String.

Ex: matriz 5x1 de 5 linhas e 1 coluna, pendo ser A1XA1= 1 ; A2XA1=6; A3XA1=8 , A4XA1=6; A5XA1=1, esses são valores inicialmente preenchidos. Portanto as células que tiveram valores que ocorreram anteriormente ou nas células anteriores, recebe " " vazio como é o caso da célula A4XA1 e A5XA1, as outras receberão o valor string de outra célula qualquer, como por exemplo a célula D5 preenchida como “deu certo”. Lógicamente a 1º célula não será testada, pois antes dela não existe células, pois ela é a primeira, a verificação cameça da 2º célula A2XA1, que verifica a primeira, a 3º célula verifica a 1º e a 2º a 4º célula verifica 1º,2º,3º e assim por diante, sempre testando se alguma célula anterior tem o mesmo valor da célula em questão.
Comecei escrever o Código mas não tive êxito, segue abaixo:

Public Sub teste01()
Dim matrizteste(3, 3) As Integer
Dim i As Integer
Dim j As Integer
Dim Planilha As Worksheet
Set Planilha = Worksheets("plan1")
Range("d5").Value = 0
For i = 1 To 3
For j = 1 To 3
" desenvolvimento do código"
End If
Next j
Next i
End Sub

 
Postado : 15/01/2014 9:26 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

TiagoV,

Boa Tarde!

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 15/01/2014 12:38 pm
(@tiagovp)
Posts: 5
Active Member
Topic starter
 

Wagner!!
Tem como a macro "rodar" automaticamente , sem que precisemos usar butões ou outros recursos indiretos, como acontece quando usamos formulas , elas trabalham "sozinhas". Teria como definir um intervalo, como foi definido no seu código(array), podendo ser um intervalo até maior, e quando fosse inserido algum valor nesse intervalo, a macro recenhecece automaticamente o valor e rodasse o código, sem usos de botões.

 
Postado : 16/01/2014 10:28 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

TiagoVP,

até tem como fazer o disparo do código automático, todavia, é necessário um gatilho para disparar o código em algum momento. Esse gatilho (que no exemplo que enviei) é um botão precisa ser definido. Em que momento do seu arquivo você quer que isso aconteça? Quando for digitado algo em alguma célula específica? Que célula seria essa? Quando a planilha for aberta? Qual o nome do arquivo e da aba? Quando a planilha for fechada? qual o nome do arquivo e da aba?

Ou seja, em um dado momento, é preciso que o código esteja dentro de um evento para que o mesmo seja disparado.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 16/01/2014 10:59 am
(@tiagovp)
Posts: 5
Active Member
Topic starter
 

Obrigado pela orientação Wagner.

 
Postado : 22/01/2014 9:49 am