Inserire campi in una riga
Hai un problema con Excel? 
Inserire campi in una riga
di Luca (utente non iscritto) data: 06/12/2012 16:30:07
Salve,
ho questo problema, vorrei che digitando sulla colonna C un testo,
nella stessa riga ,in automatico , nella colonna A vorrei la data e nella colonna
B l'ora, così :
COLONNA A // COLONNA B // COLONNA C
1 Apr 10 /// 4.46 // bla bla bla
2 Apr 10 /// 6.52 // bla bla bla
Utlizzando la macro in calce quando scrivo nella colonna C, la
colonna A e B vengono visualizzate una riga più sotto rispetto la C,
tipo così:
// bla bla bla
2 Apr 10 /// 6.52 // bla bla bla
Ringrazio per la cortese soluzione .
Luca
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rr As Long, r As Long, c As Long
r = ActiveCell.Row
c = ActiveCell.Column
rr = Cells(Rows.Count, 3).End(xlUp).Row
Application.EnableEvents = False
If Not Intersect(Target, Range("C1:C" & rr)) Is Nothing
Then Cells(r, 1) = Date: Cells(r, 2) = Now()
Application.EnableEvents = True
End Sub
|
di Vecchio Frac data: 06/12/2012 16:56:04
If Not Intersect(Target, Range("C1:C" & rr)) Is Nothing Then Cells(Target.Row, 1) = Date: Cells(Target.Row, 2) = Now()
Però io rivedrei un pochino il codice :)
di HarryBosch data: 06/12/2012 16:58:42
Se utilizzi il Target, sfruttalo fino in fondo: quell'active.cell è da togliere subito; se premi invio ti trovi già fuori dal target interessato.
Vedi sotto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rr As Long
Application.EnableEvents = False
rr = Cells(Rows.Count, 3).End(xlUp).Row
If Not Intersect(Target, Range("C4:C" & rr)) Is Nothing Then
Cells(Target.Row, 1) = Date
Cells(Target.Row, 2) = Now()
End If
Application.EnableEvents = True
End Sub
|
di HarryBosch data: 06/12/2012 16:59:48
Ecco! Vecchio Frac mi ha fregato ancora sul tempo! ^_^
di Luca (utente non iscritto) data: 06/12/2012 17:24:11
Molte grazie!!!!!!!!!!!!!!!!!!!!!
di Vecchio Frac data: 06/12/2012 21:44:16
Sintetizziamo... e precisiamo che l'intercettazione della modifica deve avvenire da C4 in giù altrimenti il risultato può essere bizzarro ^_^
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("C4:C" & Target.Row)) Is Nothing Then Cells(Target.Row, 1) = Date: Cells(Target.Row, 2) = Now()
Application.EnableEvents = True
End Sub |
di HarryBosch data: 06/12/2012 23:19:43
E' vero! Si può sfruttare il target anche come riferimento per la colonna stessa!
Non ci avevo mai pensato... grande VecchioFrac, qua si aggiunge sempre qualche tassello alle proprie conoscenze ^_^
Vuoi Approfondire?