Note: The other languages of the website are Google-translated. Back to English

¿Cómo insertar el sello de fecha en una celda si se marcó una casilla de verificación en Excel?

Normalmente, ingresa un sello de fecha usando teclas de acceso rápido en Excel. ¿Qué tal insertar el sello de fecha en una celda con una casilla de verificación en Excel? Al marcar la casilla de verificación, la marca de tiempo se inserta en una celda específica automáticamente. Este artículo te ayudará a resolverlo.

Inserte el sello de fecha en una celda si marcó una casilla de verificación con código VBA


Inserte el sello de fecha en una celda si marcó una casilla de verificación con código VBA

Esta sección presentará una secuencia de comandos VBA para ayudarlo a insertar un sello de fecha en una celda automáticamente si marca una casilla de verificación en Excel. Haz lo siguiente.

1. Después de insertar una casilla de verificación, presione otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego copie y pegue el siguiente código VBA en la ventana del Módulo.

Código de VBA: inserte el sello de fecha en una celda si marcó una casilla de verificación

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
With xChk.TopLeftCell.Offset(, 1)
    If xChk.Value = xlOff Then
        .Value = ""
    Else
       .Value = Date
    End If
End With
End Sub

3. Prensa otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.

4. Haga clic con el botón derecho en la casilla de verificación y seleccione Asignar micro desde el menú contextual. Ver captura de pantalla:

5. En el Asignar macro cuadro de diálogo, seleccione CheckBox_Date_Sello en el capítulo respecto a la Nombre de la macro cuadro, y luego haga clic en el OK botón. Ver captura de pantalla:

Al marcar la casilla de verificación, el sello de fecha se insertará automáticamente en la celda adyacente.


Artículos relacionados:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (22)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Gracias, esto fue muy útil, me gustaría señalar que me resulta más útil tener el sello de fecha a la izquierda de la casilla de verificación. para hacer esto, simplemente cambie el desplazamiento a (, -1)
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de hacer esto con la fecha Y la hora? Gracias por la información de cualquier manera!
Este comentario fue minimizado por el moderador en el sitio
Sub CheckBox_Date_Stamp() Dim xChk As CheckBox Set xChk = ActiveSheet.CheckBoxes(Application.CheckBoxes(Application.Caller) With xChk.TopLeftCell.Offset(, 1) If xChk.Value = xlOff Then .Value = "" Else .Value = Date & " " & Fin de tiempo si finaliza con subfinalización
Este comentario fue minimizado por el moderador en el sitio
Hola,
Aplique debajo del código VBA para agregar fecha y hora.

Sub CheckBox_Date_Stamp()
Dim xChk como casilla de verificación
Establecer xChk = ActiveSheet.CheckBoxes (Aplicación. Caller)
Con xChk.TopLeftCell.Offset(, 1)
Si xChk.Value = xlOff Entonces
.Valor = ""
otro
.Valor = Ahora()
Si terminar
End With
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola, probé esta fórmula y funcionó solo para A1 y B1 cuando apliqué la macro a la casilla de verificación en A1. Sin embargo, cuando apliqué la macro a la casilla de verificación en A2, no sucedió nada en B2. Además, ¿cómo se cambiaría la fórmula si quisiera usar esto para una lista de verificación? Si la columna A eran las casillas de verificación y la columna C era la fecha de finalización.
Este comentario fue minimizado por el moderador en el sitio
Hola:) puede copiar la celda con la casilla de verificación en A1 al resto de la columna. o asigne la macro individualmente a cada casilla de verificación
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
Asigne la macro individualmente a cada casilla de verificación.
Este comentario fue minimizado por el moderador en el sitio
Copié y pegué exactamente el código de VBA, pero en mi hoja de cálculo, la fecha aparece en la celda de arriba y a la derecha de la columna de la casilla de verificación, no en la celda directamente a la derecha. ?
Este comentario fue minimizado por el moderador en el sitio
También estoy teniendo exactamente el mismo problema. "¡AYUDA! ¡Necesito que alguien me AYUDE! ¡No cualquiera que me AYUDE! ¡Sabes que necesito que alguien me AYUDE!
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
El código funciona bien en mi caso. Después de marcar la casilla de verificación, la fecha aparecerá en la celda directamente a la derecha. ¿Podría proporcionar una captura de pantalla de su caso? ¿Y qué versión de Office usas? Gracias.
Este comentario fue minimizado por el moderador en el sitio
Tuve el mismo problema con la marca de fecha y hora que aparecía en la celda sobre la celda deseada (usando Excel 2007). Seguí adelante y modifiqué la fórmula de "desplazamiento" para que pase por una celda Y una celda hacia abajo y ahora el sello aparece donde lo quiero: Con xChk.TopLeftCell.Offset(1, 1)
Estoy actualizando una hoja de trabajo que otra persona creó y no creó las casillas de verificación, pero puede tener que ver con el lugar dentro de la celda donde se coloca la casilla de verificación. Obtuve resultados diferentes cuando alineé la casilla de verificación con la parte inferior de la celda.

Espero que ayude!
Este comentario fue minimizado por el moderador en el sitio
Esto es lo que hice para solucionar ese problema.

Sub CheckBox_Date_Stamp()
Dim xChk como casilla de verificación
Establecer xChk = ActiveSheet.CheckBoxes (Aplicación. Caller)
Con xChk.TopLeftCell.Offset(1, 1)
Si xChk.Value = xlOff Entonces
.Valor = ""
otro
.Valor = Ahora()
Si terminar
End With
End Sub
Este comentario fue minimizado por el moderador en el sitio
¡Hola! Gracias por el código. Funciona perfectamente con un pequeño ajuste en el desplazamiento. Sin embargo, estaba trabajando en una hoja que tiene muchas filas (más de 500 filas) que contiene muchas casillas de verificación y el tamaño del archivo creció significativamente. ¿Hay alguna forma de reducir el tamaño? ¿Alguna forma alternativa de hacer esto?

¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Buen día
Si hay muchas casillas de verificación en filas y desea actuar en todas las casillas de verificación al mismo tiempo, el siguiente código de VBA puede ayudarlo.
Copie los códigos en una ventana de código de módulo, vuelva a la hoja de trabajo y cree un botón (como un botón (control de formulario)), asigne la macro SetAllChkChange() al botón y luego haga clic en el botón para ejecutar el código.

Ahora todas las casillas de verificación en las filas de su hoja de trabajo se han activado. Puede marcar cualquiera de ellos para insertar el sello de fecha en su celda adyacente.

Sub SetAllChkChange()
Dim xChks
Dim xChk como casilla de verificación
Dim xI como largo
On Error Resume Next
Borrar xArrChk
Establecer xChks = ActiveSheet.CheckBoxes
ReDim Conservar xArrChk(1 a xChks.count)
xl = 1
Por cada xChk en xChks
xChk.Seleccionar
Selección.OnAction = "ObjChkChange"
Siguiente
End Sub


Sub ObjChkChange()
Dim xChk como casilla de verificación
Establecer xChk = ActiveSheet.CheckBoxes (Aplicación. Caller)
Con xChk.TopLeftCell.Offset(, 1)
Si xChk.Value = xlOff Entonces
.Valor = ""
otro
.Valor = Fecha
Si terminar
End With
End Sub
Este comentario fue minimizado por el moderador en el sitio
¿Cómo hago para que se muestre el sello de fecha debajo de mi casilla de verificación?
Este comentario fue minimizado por el moderador en el sitio
¡hola! Parece que no puedo encontrar una manera en la que la marca de fecha esté al lado de la casilla de verificación. Intenté cambiar el valor de compensación de 0, 1 y -1. ¿Me puede ayudar con esto? ¡gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola, supongamos que su casilla de verificación está en A2 y desea generar la marca de fecha en el lado derecho de la casilla de verificación (en este caso es B2), cambie el valor de Desplazamiento a Desplazamiento (1, 1).
Este comentario fue minimizado por el moderador en el sitio
Usé el VBA para la marca de tiempo de la casilla de verificación, pero las dos primeras celdas no funcionan correctamente. Mi primera casilla de verificación está en A2, cuando la marco, la hora se publica en B1. ¿Cómo puedo solucionar esto?
Este comentario fue minimizado por el moderador en el sitio
Hola Steve,
Reemplace la cuarta línea del código con With xChk.TopLeftCell.Offset(1, 1).
Este comentario fue minimizado por el moderador en el sitio
¡¡Muchísimas gracias!! ¡Brillante! ¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿cómo puedo repetir el código para incluir todas las casillas de verificación en la columna?
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
Si hay muchas casillas de verificación en filas y desea actuar en todas las casillas de verificación al mismo tiempo, el siguiente código de VBA puede ayudarlo.
Copie los códigos a continuación en una ventana de código de Módulo, regrese a la hoja de trabajo y cree un botón (como un Botón (Control de formulario)), asigne la macro EstablecerTodoChkChange() al botón, luego haga clic en el botón para ejecutar el código.

Ahora todas las casillas de verificación en las filas de su hoja de trabajo se han activado. Puede marcar cualquiera de ellos para insertar el sello de fecha en su celda adyacente.

Sub SetAllChkChange()
'Actualizado por Extendoffice 20211130
Dim xChks
Dim xChk como casilla de verificación
On Error Resume Next
Establecer xChks = ActiveSheet.CheckBoxes
Por cada xChk en xChks
xChk.Seleccionar
Selección.OnAction = "ObjChkChange"
Siguiente
End Sub

Sub ObjChkChange()
Dim xChk como casilla de verificación
Establecer xChk = ActiveSheet.CheckBoxes (Aplicación. Caller)
Con xChk.TopLeftCell.Offset(, 1)
Si xChk.Value = xlOff Entonces
.Valor = ""
otro
.Valor = Fecha
Si terminar
End With
End Sub
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Siganos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL