Saltar al contenido

Create Set today's date in the Previous Cell to the previous one of a manual input of a Determined logical data


A.Maurizio

Recommended Posts

publicado

Hello everyone My name is Maurizio
And my problem is this:
My daughter has given me a damanda here I can not answer with all my good will; Here is explained the reason for my 
request.
The problem is this; Always taking advantage of the VBA it would be possible to take for good that in the Column (B) 
I can write any data in any cell; And only at this point in the previous cell to my Venga inserted automatically 
(today's date)
I bring an example: If in the Cell (B8) of the sheet of excel I write (1936,27 €) Or the word (Dog)
Nlla Cella (B7) should automatically appear on today's date.
So it should happen in the cell Example (B30) Write the name (Armando)
In the Cell (B29) It should always appear today's date etc ...!
According to you all this and possible to create all this.
Thank you for all the help you want to give me about; Greetings from A.Maurizio

Invitado Cacho R
publicado

Hola! Maurizio

a) Hacé click derecho sobre la etiqueta de la hoja en la que querés obtener el efecto y seleccioná: Ver código.

b) Accederás al módulo de clase de esa hoja. En ella "copiarás y pegarás" lo que sigue:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  If .Rows.Count + .Columns.Count > 2 Then Exit Sub: If .Column <> 2 Then Exit Sub
  If .Row = 1 Or .Value = "" Then Exit Sub
  Application.EnableEvents = False: .Offset(-1) = Date: Application.EnableEvents = True
End With
End Sub

¿Es lo que estabas buscando?...

Saludos, Cacho R.
 

publicado

Hi Cacho R
Meanwhile, thanks for your help It works great!

Then if I can still dare your kindness, I wanted to ask you to explain to me cortesemete this:
 

So two days I'm going crazy to figure out where I'm wrong.

So: Let's take for good what you did to me as a Function, but bearing in mind that I wanted to try to extend everything to two other columns always using the same concept.
For this reason I wanted to consider the columns (B - C - D)
For here: I Wrote this Function:

Dim MyDato as String
If Range ("B" & MyDato, "D"). Value> 0 Then

in practice I wanted to do the same thing you did only extended to two other columns.

This function did not mean anything other than:
If a column cell (B: D) were greater than (0) then
could they give me "ActiveCell.offset (-1) .value = Date"

Only that (If Then) does not like the script and I do not understand why; and where I'm wrong.
You could give me an answer Thanks
Goodbye and have a nice day

Invitado Cacho R
publicado

Tenés que cambiar una sola cosa. Te muestro -adicionalmente- la forma de dejar indicadas expresamente las columnas a las que se aplica el efecto.

Y el último comentario es que todas las líneas de código que te muestro son necesarias: ¡No prescindas de ninguna de ellas!...

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
'Controlo que -sólo- se esté modificando una celda:
  If .Rows.Count + .Columns.Count > 2 Then Exit Sub
'Controlo que la celda pertenezca a alguna de las columnas especificadas:
  If Application.Intersect(.Cells, Range("b:b,c:c,d:d")) Is Nothing Then Exit Sub
'Controlo que la celda no esté en la primera fila ni que esté vacía:
  If .Row = 1 Or .Value = "" Then Exit Sub
'Inhabilito eventos y escribo la fecha:
  Application.EnableEvents = False: .Offset(-1) = Date: Application.EnableEvents = True
End With
End Sub

 

Invitado Cacho R
publicado

Por cierto, Maurizio, te comento que abajo y a la derecha de cada comentario se observa un corazón: haz click en él pues ésa es la forma como se agradecen las ayudas recibidas en este Foro, ¿Comprendes?... :rolleyes:

publicado

Ancora, grazie,  Cacho R. Sei un grande uomo, anche se non eri lì, dovrebbero inventarti! E grazie per il tuo nuovo aiuto, ora capisco come funziona tutto. Mi scusi per averti lasciato perdere tempo prezioso, ma solo in questo modo una persona può veramente imparare da persone meravigliose come te.

Traslazione : Ancora, grazie, Cacho R. Sei un grande uomo, anche se non eri lì, dovrebbero inventarti! E grazie per il tuo nuovo aiuto, ora capisco come funziona tutto. Mi scusi per averti lasciato perdere tempo prezioso, ma solo in questo modo una persona può veramente imparare da persone meravigliose come te.

Invitado Cacho R
publicado
Hace 8 horas, A.Maurizio dijo:

Sei un grande uomo, anche se non eri lì, dovrebbero inventarti!

Jajjjajajaja... ¡Es lo más gracioso que he leído en esta semana! :):D
Fue un gran gusto ayudarte y hasta la próxima.

Saludos, Cacho R.

P.D.
Sólo porque me hiciste reir un buen rato, no te insistiré con eso de hacer "click" en los corazones que hay abajo y a la derecha de cada uno de nuestros mensajes.

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.