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!
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
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
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.