Si celda activa vacia cambiar de valor

18/04/2007 - 01:38 por JLMorales | Informe spam
Hola grupo:
Tengo el suguiente código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim fila, columna, valor
Dim celda As Range

fila = ActiveCell.Row
columna = ActiveCell.Column
If fila < 8 Or fila > 28 Or columna > 6 Then Exit Sub
valor = ActiveCell.Address
If columna = 1 And fila Then
Set celda = Intersect(Target, Range(valor))
If celda Is Nothing Then Exit Sub
Cells(fila, 6).Value = Format(Date, "mm/dd/yyyy") & " " & Format(Time,
"hh:mm")
End If

End Sub

El problema es el siguiente: Necesito hacer que cuando una determinada celda
activa dentro de un rango cambie de valor empty a no empty, y aplique fecha y
hora en otra celda de la misma fila. Sucede que este código aplica la fecha
cuando la está la celda activa, cambio o no de valor la celda activa. Debe
ser solo CUANDO SE INGRESE UN VALOR.

Ahora, en cada celda activa tengo previsto validar mediante un combo o list
para ser rellenado de acerdo a otro rango de valores. (es para agilizar el
llenado)

¿que debo considerar para que pueda aplicar lo que he planteado
inicialmente? Es necesario

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/04/2007 - 06:30 | Informe spam
hola, JLMorales !

Tengo el suguiente codigo: [...]
El problema es el siguiente: Necesito hacer que cuando una determinada celda activa dentro de un rango
cambie de valor empty a no empty, y aplique fecha y hora en otra celda de la misma fila.
Sucede que este codigo aplica la fecha cuando la esta la celda activa, cambio o no de valor la celda activa.
Debe ser solo CUANDO SE INGRESE UN VALOR.
Ahora, en cada celda activa tengo previsto validar mediante un combo o list para ser rellenado de acerdo a otro rango de valores.
(es para agilizar el llenado)
que debo considerar para que pueda aplicar lo que he planteado inicialmente? Es necesario



[supongo que] la fecha y hora 'se estan poniendo' desde la 'simple' seleccion de una celda en la columna 'A' -?-
-> es lo que esta 'detectando' el evento que usas... un 'cambio de seleccion' -> _SelectionChange

prueba cambiando tu codigo al evento que 'detecta' cambios en las celdas -> _Change

saludos,
hector.

__ el codigo expuesto __
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim fila, columna, valor
Dim celda As Range
fila = ActiveCell.Row
columna = ActiveCell.Column
If fila < 8 Or fila > 28 Or columna > 6 Then Exit Sub
valor = ActiveCell.Address
If columna = 1 And fila Then
Set celda = Intersect(Target, Range(valor))
If celda Is Nothing Then Exit Sub
Cells(fila, 6).Value = Format(Date, "mm/dd/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida