Notifications
Clear all

Duvida quanto a relacionar criterio

4 Posts
3 Usuários
0 Reactions
839 Visualizações
(@bymauricio)
Posts: 7
Active Member
Topic starter
 

Como posso "dizer" para o VBA que o meu critério (x) está em uma célula da planilha Ex:A1
Outra Duvida: Como posso "dizer" para o VBA que esse meu critério (x) está entre 2 valores localizados em diferentes celulas Ex: A2 e A3

Sub relatorio()
	Plan2.Range("A2:E2000").Clear contents
	ultimaLinha = Plan1.cells(Rows.Count,"a").End(xlup).Row
	lin = 2
	For i=2 To ultimalinha
		If plan1.Cells(i, 5) = "[b]x[/b]" Then
	Plan2.Cells(lin, 1) = Plan1.cells(i, 1)
	Plan2.Cells(lin, 2) = Plan1.cells(i, 2)
	Plan2.Cells(lin, 3) = Plan1.cells(i, 3)
	Plan2.Cells(lin, 4) = Plan1.cells(i, 4)
	Plan2.Cells(lin, 5) = Plan1.cells(i, 5)
	lin = lin + 1
End if
Next
End sub
 
Postado : 21/11/2016 3:07 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite bymauricio

Seja bem-vindo ao fórum!

Movi teu tópico para VBA & Macros que é o assunto da tua dúvida.

Como você é novato, para facilitar a tua participação, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/11/2016 5:35 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite bymauricio,

O valor da célula A1 pode ser representado com o comando Cells(1,1).Value
Portando no seu If:

If plan1.Cells(i, 5).Value = Cells(1,1).Value Then

Para o caso do valor entre A2 e A3, você tem que combinar o seu If com um And

If plan1.Cells(i, 5).Value >= Cells(1,2).Value And  plan1.Cells(i, 5).Value <= Cells(1,3).Value Then

O sinais de <=,>=, =,< e > vai depender do que você precisa.

Teste e de retorno.

att,

 
Postado : 21/11/2016 8:22 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Como mencionou somente os Ranges e não mencionou de qual planilha, segue um modelinho bem básico, veja se consegue ajustar :

Sub verifica_ENTRE_numeros()
    
    Dim x 'Valor em A1 Plan1
    Dim vlrPln1_A2 'Valor em A2 Plan1
    Dim vlrPln1_A3 'Valor em A3 Plan1
    
    x = Plan1.Range("A1").Value
    
    vlrPln1_A2 = Plan1.Range("A2").Value
    vlrPln1_A3 = Plan1.Range("A3").Value

    If x > vlrPln1_A2 And x < vlrPln1_A3 Then
    
        MsgBox "O valor de x é :-  " & x & " e está entre os numeros - " & vlrPln1_A2 & " e " & vlrPln1_A3
      
    Else
    
        MsgBox "O valor de x é :-  " & x & " e NÃO está entre os numeros - " & vlrPln1_A2 & " e " & vlrPln1_A3
    
    End If
    
End Sub

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/11/2016 8:33 pm