Notifications
Clear all

Problema com macro basica

4 Posts
2 Usuários
0 Reactions
642 Visualizações
(@kbelim54)
Posts: 2
New Member
Topic starter
 

Olá, sou iniciante no VBA e me deparei com uma dúvida.
Tenho uma planilha que possui 3 colunas, uma com nomes, uma com valores e uma com boleano (esse valor boleano é modificado a partir de uma caixa de seleção em cada linha).
A macro que eu quero lê os valores na coluna boleana (D na minha planilha) e caso o valor seja verdadeiro ela some 1 na coluna de valores (coluna C)
Tentando aqui e lendo umas coisas o que eu fiz foi isso:

Sub adicionar()

Dim n As Integer

For n = 2 To 28
If Cells(n, "d") = True Then
Cells(n, "d").Offset(0, -1).Value = Cells(n, "d").Offset(0, -1) + 1
End If

End Sub

Alguem pode me indicar para um caminho correto??
Obrigado!

 
Postado : 27/10/2014 3:10 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se entendi corretamente, mas se a intensão é somar +1 ao Valor já existente na coluna C se o valor Boleano for Verdadeiro, então é só alterar :

Cells(n, "d").Offset(0, -1).Value = Cells(n, "d").Offset(0, -1) + 1
por
Cells(n, "d").Offset(0, -1).Value = Cells(n, "c").Value + 1

Ficando assim:

Sub adicionar()

Dim n As Integer

    For n = 2 To 28
        If Cells(n, "d") = True Then
            
            Cells(n, "d").Offset(0, -1).Value = Cells(n, "c").Value + 1
        
        End If
    Next
    
End Sub

[]s

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

 
Postado : 27/10/2014 4:43 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Reformule sua dúvida, pois está confusa.

seria isso?

Sub Confuso()

Dim n As Integer

For n = 2 To 28
    If Cells(n, "C") = True Then
        Cells(n, "B").value = Cells(n, "B").value + 1
    End If
Next
End Sub

Att

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

 
Postado : 27/10/2014 4:48 pm
(@kbelim54)
Posts: 2
New Member
Topic starter
 

Olá Mauro e Alexandre, é exatamente isso mesmo Mauro. O que você mudou não faz diferença nenhuma né? Só diminui o código.
Eu estava recebendo uma mensagem de erro no código, mas ela não estava originando no código que eu postei aqui. E sim na coluna de verdadeiro ou falso que eu pedia pra ele dar clear content nela depois de fazer o for. Mas achei mais fácil só esconder a coluna. Está funcionando direitinho sem o Clearcontent.

Obrigado.

 
Postado : 28/10/2014 6:45 am