Ayuda

09/09/2005 - 19:07 por val | Informe spam
Existe alguna manera de decirle a excel que si hay datos en la celda B1 me
ponga en C1 la hora en la que se introdujo el dato y despues cocatenarlo de
forma que quede de la siguiente manera DATO HORA.

Agradesco cualquien comentario

Preguntas similare

Leer las respuestas

#1 daniel_hg
09/09/2005 - 19:30 | Informe spam
Quizás esto te sirva. Si los datos a contener en B1, son de un tipo
conocido, cambia el tipo de datos de la variable valor.

********************************************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Static valor As Variant
If [b1].Value = valor Then Exit Sub

If Not IsEmpty([b1].Value) Then
[c1].Value = [b1].Value & " " & Time
valor = [b1].Value
End If
End Sub

***********************************************************************************************************
"val" escribió en el mensaje
news:%
Existe alguna manera de decirle a excel que si hay datos en la celda B1 me
ponga en C1 la hora en la que se introdujo el dato y despues cocatenarlo
de
forma que quede de la siguiente manera DATO HORA.

Agradesco cualquien comentario



Respuesta Responder a este mensaje
#2 KL
09/09/2005 - 19:47 | Informe spam
Hola val,

Si usando los eventos desde VBA (macros). Prueba hacer lo siguiente:

Saludos,
KL

1) haz clic-derecho sobre el nombre de tu hoja en una de las pestañas de la
parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) En la ventana mas grande a la derecha pega el codigo que te pongo a
continuacion sustituyendo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then _
Range("C1") = Range("B1").Value & _
" (actualizado: " & Format(Now, "hh:mm:ss") & ")"
End Sub

4) Ahora pulsa Alt+F11 para volver a la hoja.
5) Haz pruebas introduciendo algo en la celda [B1]

Saludos,
KL


"val" wrote in message
news:%
Existe alguna manera de decirle a excel que si hay datos en la celda B1 me
ponga en C1 la hora en la que se introdujo el dato y despues cocatenarlo
de
forma que quede de la siguiente manera DATO HORA.

Agradesco cualquien comentario



Respuesta Responder a este mensaje
#3 val
09/09/2005 - 21:48 | Informe spam
perfecto si funciona, este codifo se puede modificar a un rando de celdas,
es decir tengo 100 filas que su valor cambia cada hora, por ejemplo b1:b100

Sdos.

"KL" wrote in message
news:
Hola val,

Si usando los eventos desde VBA (macros). Prueba hacer lo siguiente:

Saludos,
KL

1) haz clic-derecho sobre el nombre de tu hoja en una de las pestañas de


la
parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) En la ventana mas grande a la derecha pega el codigo que te pongo a
continuacion sustituyendo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then _
Range("C1") = Range("B1").Value & _
" (actualizado: " & Format(Now, "hh:mm:ss") & ")"
End Sub

4) Ahora pulsa Alt+F11 para volver a la hoja.
5) Haz pruebas introduciendo algo en la celda [B1]

Saludos,
KL


"val" wrote in message
news:%
> Existe alguna manera de decirle a excel que si hay datos en la celda B1


me
> ponga en C1 la hora en la que se introdujo el dato y despues cocatenarlo
> de
> forma que quede de la siguiente manera DATO HORA.
>
> Agradesco cualquien comentario
>
>
>


Respuesta Responder a este mensaje
#4 KL
10/09/2005 - 00:42 | Informe spam
Hola val,

prueba este.

Saludos,
KL

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, rng As Range
On Error Resume Next
Set rng = Intersect(Target, Range("B1:B100"))
On Error GoTo 0
If Not rng Is Nothing Then
For Each c In rng
c.Offset(, 1) = c.Value & _
" (actualizado: " & Format(Now, "hh:mm:ss") & ")"
Next c
End If
End Sub
Respuesta Responder a este mensaje
#5 val
14/09/2005 - 00:10 | Informe spam
buenas tardes KL, sabras por que este codigo funciona mientras tecleo sobre
la celda y cuando se actualiza por una formula nop.??

Sdos.
"KL" wrote in message
news:OJFX0#
Hola val,

prueba este.

Saludos,
KL

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, rng As Range
On Error Resume Next
Set rng = Intersect(Target, Range("B1:B100"))
On Error GoTo 0
If Not rng Is Nothing Then
For Each c In rng
c.Offset(, 1) = c.Value & _
" (actualizado: " & Format(Now, "hh:mm:ss") & ")"
Next c
End If
End Sub


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida