[RESUELTO] Quitar comilla especial ' en calc

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Jose Manuel
Mensajes: 99
Registrado: Vie Nov 21, 2008 8:09 am

[RESUELTO] Quitar comilla especial ' en calc

Mensaje por Jose Manuel »

A veces cuando insertamos dígitos en una celda de calc, este, lo entiende como texto y añade una comilla "especial" al comienzo del dígito. Sin embargo decimos que es especial porque no la podemos borrar directamente, es una comilla implícita mediante la cual, Calc lo interpreta como texto no como números. Como consecuencia no se pueden hacer operaciones aritméticas.

Para eliminar esta comilla especial (una posible solución sería la siguiente macro):

Código: Seleccionar todo

Sub quitar_comilla_especial
    oSheet = ThisComponent.getSheets().getByIndex(0)
    Celda = oSheet.getCellByPosition(0,0)
    Celda.FormulaLocal = Valor(Celda.FormulaLocal)
  End Sub

Function Valor(celda)
    celda = mid(celda,2,len(celda))
    Valor = celda
End Function
Esa comilla aparece en la propiedad FormulaLocal.
Este ejemplo borra la comilla de la primera celda de la primera hoja de cálculo.
Se puede hacer extensible a todo el documento con un bucle iterativo.
Un saludo
Jose manuel
pedrito76
Mensajes: 78
Registrado: Jue Jul 08, 2010 3:02 pm

Re: [Resuelto] Quitar comilla especial ' en calc

Mensaje por pedrito76 »

Hola,

no he conseguido hacer que sea extensible a todo el documento, o a toda una hoja que es donde lo necesito, como lo podría hacer, ya se que el tema esta cerrado, pero es que lo necesito para saber como quitar esas malditas comillas que me aparecen y no se como hacer la bucle
OpenOffice.org 3.2
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por SLV-es »

Tan sólo necesitas hacer un doble bucle, para que recorra todas las celdas de la hoja

Supongamos que has utilizado hasta la columna 15 y la fila 300

Código: Seleccionar todo

Sub quitar_comilla_especial
    dim c as integer, r as integer
    oSheet = ThisComponent.getSheets().getByIndex(0)
    for c=0 to 15
       for r= 0 to 300
          Celda = oSheet.getCellByPosition(c,r)
          Celda.FormulaLocal = Valor(Celda.FormulaLocal)
       next
    next
  End Sub
Espero que te sirva
Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
pedrito76
Mensajes: 78
Registrado: Jue Jul 08, 2010 3:02 pm

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por pedrito76 »

Hola Salva,

gracias por responder lo primero, decirte que la macro va muy bien, pero cuando la vuelvo a ejecutar me borra el primer dígito de la fila anterior que he copiado, no se si me explico

:shock:
OpenOffice.org 3.2
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por SLV-es »

Ok, no me fijé en la segunda función.

Debería eliminar sólo si es comilla simple, no el primer carácter

Código: Seleccionar todo

Function Valor(celda)
    If left(celda,1) = "'" then  
        celda = mid(celda,2)
    End If
    Valor = celda
End Function
Ten cuidado; justo tras el igual es: comillas dobles · comilla sencilla · comillas dobles " ' " , pero sin espacios, claro. No confundir con acento.

Solucionado !!!!
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
pedrito76
Mensajes: 78
Registrado: Jue Jul 08, 2010 3:02 pm

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por pedrito76 »

Gracias y mil veces gracias,

lo que uno se puede complicar con algo y no verlo.

ahora perfecto :super:
OpenOffice.org 3.2
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por mriosv »

Cuando al introducir un número en una celda este queda con la comilla simple, es porque la celda tiene el formato texto @.
Dejando un formato standar o cualquier numérico, el número se introducirá sin comilla.
Para eliminar la comilla con buscar-reemplazar:
-buscar: .*
-reemplazar: &
En mas opciones marcar el uso de expresiones regulares.
Y reemplazar.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
pedrito76
Mensajes: 78
Registrado: Jue Jul 08, 2010 3:02 pm

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por pedrito76 »

mriosv

pues en mi hoja de calc los formatos de las celdas estan con formato standar o numerico, por eso pedí ayuda

gracias por tu respuesta también. :super:
OpenOffice.org 3.2
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por mriosv »

Pues hay pocas razones para que al introducir un número en una celda con formato standar se quede como texto.
Solo se me ocurre que se esté usando la coma como separador decimal y se introduzca con un punto o viceversa.

En otro caso:
¿Ocurre con todos los fichero de hoja de calculo?
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
a1xys
Mensajes: 11
Registrado: Mar Abr 20, 2010 7:49 pm

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por a1xys »

La forma más sencilla: con VALOR()

Pones la celda con comilla entre la función y listo: =VALOR (A1)
OpenOffice 3.1 en Windows XP / Ubuntu
Cham
Mensajes: 3
Registrado: Jue Mar 31, 2016 12:41 pm

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por Cham »

mriosv escribió:Cuando al introducir un número en una celda este queda con la comilla simple, es porque la celda tiene el formato texto @.
Dejando un formato standar o cualquier numérico, el número se introducirá sin comilla.
Para eliminar la comilla con buscar-reemplazar:
-buscar: .*
-reemplazar: &
En mas opciones marcar el uso de expresiones regulares.
Y reemplazar.
Una pregunta... ¿qué significa exactamente ".*" ( o sea, PuntoAsterisco) y qué significa &?
Un saludo.
Apache OpenOffice 4.1.2
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: [RESUELTO] Quitar comilla especial ' en calc

Mensaje por mriosv »

Porfa no repreguntes en un hilo resuelto.

Busca en la ayuda, 'expresiones regulares'.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
Responder