[Resuelto] Macro para fechar una celda

Discute sobre la aplicación de hojas de cálculo
Responder
BOTUCATU
Mensajes: 35
Registrado: Vie Ene 04, 2019 9:59 pm

[Resuelto] Macro para fechar una celda

Mensaje por BOTUCATU »

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
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: MACRO PARA FECHAR UNA CELDA

Mensaje por mauricio »

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
BOTUCATU
Mensajes: 35
Registrado: Vie Ene 04, 2019 9:59 pm

Re: Macro para fechar una celda

Mensaje por BOTUCATU »

Lo he corregido. Gracias y perdón.
OpenOffice 3.1 en Windows 7 SP1
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

Mensaje por PepeOooSevilla »

Hola.
En el archivo adjunto verás un ejemplo. Este es el código:

Código: Seleccionar todo

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) Descargado 181 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.
BOTUCATU
Mensajes: 35
Registrado: Vie Ene 04, 2019 9:59 pm

Re: Macro para fechar una celda

Mensaje por BOTUCATU »

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
Responder