Notifications
Clear all

If Then para inserir valor na célula

6 Posts
3 Usuários
0 Reactions
1,307 Visualizações
(@analuciala)
Posts: 0
New Member
Topic starter
 

Olá !! Tenho uma planilha que calcula produtividade e faltas de funcionários, com fórmula consigo fazer o que preciso, mais dá erro na TD, por isso preciso fazer em VBA, na coluna 4 identifico as faltas com a letra "F" e na coluna H deve aparece o nº 1 sempre que a letra "F" é digitada na coluna D .... sequencialmente pois cada linha corresponde a um dia da semana e são apontadas informações de colheitas... se alguém puder me ajudar com essa macro eu agradeço!

Eu tentei fazer, mais como não entendo de macros, não sei fazer o loop, essa macro funciona só para a 1 linha... não dá sequencia:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells([2], [4]) = "F" Then
Cells([2], [9]) = 1
End If
End Sub

 
Postado : 18/01/2017 6:41 am
(@skulden)
Posts: 0
New Member
 

Observações sobre o código:

- Substitua o "D1" pelo range onde começa a sua coluna dos F's

- A segunda linha vai dar um Control + Seta pra baixo pra chegar no último valor preenchido da coluna, supondo que não haja espaços em branco entre os F

- Conte quantas colunas há entre a coluna dos F's e a Coluna onde deseja colocar o nº 1 e insira esse valor na linha do offset no lugar do 5. Esse comando anda 0 linhas e 5 células pra direita, caso fosse pra esquerda seria -5.

  

Range("D1").Select
Range(Selection, Selection.End(xlDown)).Select
If ActiveCell.Value = "F" Then
ActiveCell.Offset(0, 5).Value = 1
End If

 
Postado : 18/01/2017 6:54 am
(@analuciala)
Posts: 0
New Member
Topic starter
 

Skuden, obrigada pela resposta...
Testei e não deu certo, pq há espaços entre os "F", eles são colocados quando os funcionários faltam, essa coluna recebe valores (qtde de colheita) exemplo:
A | B | C | D | E | F | G | H |
DATA |CÓDIGO | FUNCIONÁRIO | COLHEITA | MÊS | SEMANA | QUINZENA | FALTAS |

são apontados diariamente o resultado dessa colheita, e quando a há faltas em vez de colocarmos a qtde na coluna D [COLHEITA] colocamos a letra F, utilizando sua macro ela trava no intervalo até onde aparece o F... porém eles são aleatórios e a planilha é utilizada como se fosse um banco de dados.

 
Postado : 18/01/2017 8:27 am
(@mprudencio)
Posts: 0
New Member
 

Melhor disponibilizar a planilha com alguns dados explicando o que precisa assim o ajuste acontece de acordo com a necessidade.

 
Postado : 18/01/2017 8:35 am
(@analuciala)
Posts: 0
New Member
Topic starter
 

Deu certo com essas alterações, obrigada!!!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Value = "F" Then
ActiveCell.Offset(0, 5).Value = 1

End If

End Sub

 
Postado : 18/01/2017 10:20 am
(@skulden)
Posts: 0
New Member
 

Deu certo com essas alterações, obrigada!!!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Value = "F" Then
ActiveCell.Offset(0, 5).Value = 1

End If

End Sub

Eu já ia sugerir para editar o código desta forma. Boa!

 
Postado : 18/01/2017 10:29 am