Macro y formato condicional en CALC

Marko -  
 Marko -
Hola,
Tengo un archivo con una macro en Calc que no es de mi autoría. Esta macro permite, al hacer clic en ella, introducir (según el botón) caracteres en celdas seleccionadas y colorarlas a través de un formato condicional.
Esta macro está insertada en un calendario que me permite realizar una previsión del planning.
El problema es que no conozco el lenguaje Basic y, por lo tanto, no entiendo prácticamente nada de la macro que recuperé de Internet (de ahí muchas columnas ocultas). Además, había logrado crear un botón de CANCELAR que me permitía deshacer la última acción realizada.
Estoy perdido y por más que intento buscar soluciones en Internet, solo consigo perderme aún más. Por lo tanto, les pido ayuda. Puedo proporcionar el archivo a pedido si lo desean.
¡Gracias de antemano!

Configuración: Macintosh / Safari 13.1

6 respuestas

yclik Mensajes publicados 69 Fecha de registro   Estado Miembro Última intervención   1 607
 
Hola

otra propuesta con un botón de borrar en lugar de "cancelar"
formato condicional solo en la 1ª semana de enero

Inspirado aquí
1
yclik Mensajes publicados 69 Fecha de registro   Estado Miembro Última intervención   1 607
 
Hola
Un ejemplo de un archivo despersonalizado debería ser subido a Cjoint para obtener las mejores respuestas posibles.
Cómo subir a Cjoint.fr
0
Marko
 
Désolé, je ne peux pas accéder aux liens ou fichiers externes. Veuillez fournir le texte à traduire ici.
0
yclik Mensajes publicados 69 Fecha de registro   Estado Miembro Última intervención   1 607
 
Buenas noches

la macro funciona, la última línea del código
oCell.string = label 

recupera el nombre del botón
para verlo:
visualización > barra de herramientas > control de formulario
icono boceto (escuadra)
clic derecho sobre el botón > propiedades



para el formato condicional
0
Marko
 
OK, lo probaré tan pronto como pueda. ¡Muchas gracias! Cerraré el tema si todo está bien y con un gran agradecimiento.
0
Marko
 
Efectivamente tienes razón, ni siquiera podía entenderlo, pero con tu ayuda y una búsqueda en Google pude descifrarlo.
Quedan dos problemas, el primero es que cuando selecciono varias celdas no funciona. Debo hacerlo celda por celda, lo que es bastante tedioso. ¿Existe una variante que lo permita?
Segundo problema: tengo líneas de comando que permiten la anulación de acciones anteriores:

Function MajColor(oCell, sBtn As String, oDescriptor) As String
Dim aRet() As String, aCell() As String, sCell As String, sRet As String
Dim oSheetData As Object, oCellData As Object, oFound
oSheetData = thisComponent.Sheets.getByName("Donnees")

With oCell.CellAddress
IF .Column < 6 OR .Column > 400 OR .Row < 4 OR .row > 205 Then
aRet = split(oCell.AbsoluteName,".$")
MajColor = aRet(1) : Exit Function
End IF
End With

IF sBtn ="ANNUL" Then
oCell.CellBackColor = -1
oCell.CharColor = -1
oCell.String = ""
Else
oFound = oSheetData.findFirst(oDescriptor)
IF Not IsNull(oFound) Then
aCell = split(oFound.AbsoluteName, ".$A$")
sCell = "$B$" & aCell(1)
oCellData = oSheetData.getCellRangeByName(sCell)
oCell.CellBackColor = oCellData.CellBackColor
oCell.CharColor = oCellData.CharColor
oCell.String = oCellData.String
End If
End If
' MajColor = ""
End Function

Sin embargo, cuando creo un botón y le asigno la macro, esto escribe "ANNUL" en la celda siguiendo la primera instrucción.

Disculpa por la tardanza en mi respuesta, las compras, el perro, el niño, la limpieza... ;-)
0
Marko
 
¡Impresionante! ¡Muchas gracias! Bueno, sólo me queda encontrar "Básico para tontos" o un traductor.
¡Gracias a todos!
0