[Resuelto] Macro para fechar una celda

Discute sobre la aplicación de hojas de cálculo

[Resuelto] Macro para fechar una celda

Notapor BOTUCATU » Mar Ago 25, 2020 2:44 pm

Buen día. Estoy necesitando una macro que consigne la fecha y hora en la celda AX6 cuando se escriba algo en la celda A6 y que luego se seleccione la celda siguiente a A6 o sea B6. No me sirve usar la opción de evento de macro asociado a la validez de la celda y tampoco la opción de evento asociado a la hoja.

Ejemplo: consigno la fecha de hoy en A6 y automáticamente aparece la hora actual (con fecha) en la celda AX6 ese dato tendría que ser en formato estándar y no como fórmula (ejemplo: 25/08/20 09:31). Supongo que se debe ejecutar la fórmula =AHORA() en la celda AX6 y luego se debe copiar y pegar el dato en la misma celda para que ya desaparezca la fórmula. (bueno si logro todo eso quisiera que se repita lo mismo para A7 y AX7; A8 y AX8 etc. etc. pero eso ya pienso que lo podría hacer yo sin ayuda).

Entiendo que esto se puede hacer con la grabadora de macros de opencalc, pero no quiero pasar y pasar, una por una por todas las celdas desde A6 hasta AX6 ya que tengo agrupaciones de columnas que pueden o no estar desplegadas y esto puede crear inconvenientes de precisión en el desplazamiento ya que si en algún momento tengo agrupadas las columnas de forma distinta a la grabación, entonces el desplazamiento grabado no sería preciso y la fórmula se pegaría en la celda equivocada.

Agradezco desde ya vuestra amable ayuda sobre esta macro que me parece muy interesante. Cordial saludo al foro.
Última edición por BOTUCATU el Mar Ago 25, 2020 10:40 pm, editado 2 veces en total
OpenOffice 3.1 en Windows 7 SP1
BOTUCATU
 
Mensajes: 34
Registrado: Vie Ene 04, 2019 9:59 pm

Re: MACRO PARA FECHAR UNA CELDA

Notapor mauricio » Mar Ago 25, 2020 3:56 pm

Por favor, no escribas en solo mayúsculas, gracias.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Macro para fechar una celda

Notapor BOTUCATU » Mar Ago 25, 2020 4:21 pm

Lo he corregido. Gracias y perdón.
OpenOffice 3.1 en Windows 7 SP1
BOTUCATU
 
Mensajes: 34
Registrado: Vie Ene 04, 2019 9:59 pm

Re: Macro para fechar una celda

Notapor PepeOooSevilla » Mar Ago 25, 2020 5:35 pm

Hola.
En el archivo adjunto verás un ejemplo. Este es el código:
Código: Seleccionar todo   Expandir vistaContraer vista
REM *****  BASIC  *****
Option Explicit

Sub EscribirFechaHoraAX()
' Suceso: Contenido cambiado
   Dim DocCalc As Object
   Dim HojaActiva As Object
   Dim Seleccion As Object
   Dim Columna As Long
   Dim ColumnaA As Long
   Dim Fila As Long
   
   DocCalc = ThisComponent
   Seleccion = DocCalc.getCurrentSelection()
   HojaActiva = DocCalc.CurrentController.ActiveSheet
   ColumnaA = 0
   With Seleccion
      If .getImplementationName() = "ScCellObj" Then
         Columna = .getCellAddress().Column
         Fila = .getCellAddress().Row
         'Columna A y Fila 6 en adelante. Las filas/columnas comienzan en 0
         If (Columna = ColumnaA) And (Fila > 4) Then
            'Columna 49 = AX y Fila es la de la celda modificada
            HojaActiva.getCellByPosition(49, Fila).setValue(Now())
         End If
      End If
   End With
End Sub

Está asociada al suceso de hoja Contenido cambiado y antes de escribir en AX la fecha y hora comprueba que la celda modificada pertenece a la columna A y la fila es mayor o igual que 6. Hay que tener en cuenta que las columnas y filas en programación OpenOffice/LibreOffice Basic comienzan en 0 (cero).
Saludos cordiales.
Adjuntos
FORO_CALC_Macro_fechar_celda.ods
LibO Calc 6.4.6
(14.98 KiB) 11 veces
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
Avatar de Usuario
PepeOooSevilla
 
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Macro para fechar una celda

Notapor BOTUCATU » Mar Ago 25, 2020 10:39 pm

Uuuu ¡Que excelente! :bravo: Muchas gracias PepeOooSevilla. Funciona de maravilla y daré por resuelto el tema. Saludos cordiales.
OpenOffice 3.1 en Windows 7 SP1
BOTUCATU
 
Mensajes: 34
Registrado: Vie Ene 04, 2019 9:59 pm


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados