Como preencher celula com data ao digitar em outra?


#1

Olá amigos, gostaria de que quando digitar na coluna b a coluna a fique com a data desse momento e tamb isso na coluna e quando digitar na f, como faço isso usando talvez o MACRO VBA? Quais comandos para isso?
Exemplo: eu digito na celula b1 ae na a1 fique com a data fixa e assim em diante com as de baixo.
Eu usei esse comando que está abaixo, mas só da com uma coluna eu queria o mesmo na e e f.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Cells(Target.Row, 2).Value <> “” Then
Cells(Target.Row, 1).Value = Date
End If
End Sub


#2

Fala, @andrearaujo.

Basta seguir a mesma regra:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 Or Target.Column = 6 And Cells(Target.Row, Target.Column).Value <> "" Then
        Cells(Target.Row, Target.Column - 1).Value = Date
    End If
End Sub

#3

oi xavier blz.
e caso uma das colunas que entram as datas não ser a que antecede, como ficaria essa parte do comando: …(Target.Row, Target.Column -1) …


#4

Se for a coluna a frente ao invés da que antecede:
(Target.Row, Target.Column 1)

se for a segunda coluna:
(Target.Row, Target.Column 2)

E assim por diante

Abrç!


#5

fala xavier e xlarruda tudo bem?
e se eu quiser colocar a hora fixa do outro lado nessa mesma aba, como devo proceder?
no casa eu digito na coluna 2 e a data fica na coluna 1 e a hora na coluna 3.
abraço.


#6

Mesma coisa, @andrearaujo. Você escolhe a coluna (Target.Column + 2, por exemplo) e, ao invés de Date usa Now.


#7

oi, eu copiei e colei embaixo, e troquei +2 e Now mas aparece:

erro de compilação, nome repetido encontrado: worksheet_change


#8

Bom dia Andrearaujo!
Faça simplesmente assim:
Na célula A1 coloque esta formula =SE(B1<>"";HOJE();"")
Ao digitar na B1 a data aparecerá na Célula A1.
Não esqueça de formatar a célula A1 para data.


#9

Você tem que colocar dentro da mesma sub.


#10

oi SPP, acontece que desse jeito a hora atualiza para a atual até se eu digitar a de baixo, eu queria a hora fixa do momento que digitei e que não atualize todas sempre para a atual.


#11

oi xavier, tudo bom.
como ficaria todo o comando? não to conseguindo dá erro.
eu tentei assim: (para colocar hora na coluna 3 ae não aparece mais nda)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 6 Or Target.Column = 10 Or Target.Column = 14 And Cells(Target.Row, Target.Column).Value <> “” Then
Cells(Target.Row, Target.Column - 1).Value = Date
End If

If Target.Column = 2 And Cells(Target.Row, Target.Column).Value <> "" Then
    Cells(Target.Row, Target.Column + 2).Value = Now

End If
End Sub


#12

andre araujo
Você digita na B1 a data do dia fica em A1, a não ser que atualize a B1


#13

oi, ae quando eu digito na B2 atualiza tudo para o momento atual em todas as celulas da coluna A. Eu queria que ficasse fixo.


#14
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 6 And Cells(Target.Row, Target.Column).Value <> “” Then
Cells(Target.Row, Target.Column - 1).Value = Date
Cells(Target.Row, Target.Column + 1).Value = Now
End If
End Sub