[RESUELTO] Que la palabra empiece de una manera determinada

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

[RESUELTO] Que la palabra empiece de una manera determinada

Notapor elenitaex5 » Jue Dic 17, 2009 12:26 pm

buenas, tengo un problema a la hora de escribir en basic.
en la formula de una celda para buscar las palabras que se escriban empezando por una letra determinada ej. la "V" hay que introducir A1:A1 = "V.*" poniendo un punto y un asterisco luego.
como se puede poner en OooBasic esto mismo, es decir despues de definir la celda como se puede hacer que la condición sea que coja todas las palabras que empiecen por "V" ??
gracias
Última edición por elenitaex5 el Mié Dic 23, 2009 2:31 pm, editado 3 veces en total
Openoffice 3.3.0
Sistema operativo Windows
elenitaex5
 
Mensajes: 56
Registrado: Sab Nov 28, 2009 2:49 pm
Ubicación: Madrid, España

Re: que la palabra empiece de una manera determinada

Notapor mauricio » Vie Dic 18, 2009 2:50 am

Hola...

No entendi que es lo que "realmente" deseas, ¿podrías ser más explicito al respecto?, ¿tienes algún código de inicio con que partir?

Saludos
______________________________________________
"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: 6090
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: que la palabra empiece de una manera determinada

Notapor elenitaex5 » Vie Dic 18, 2009 11:27 am

tengo varias palabras escritas en celdas diferentes en una fila, en otra celda quiero que me cuente las palabras que tengo que empiecen por "V" así que en la celda he puesto la siguiente fórmula
=CONTAR.SI(C2:L2;"V.*")
esta fórmula me cuenta las palabras que empiezan por V. lo que quiero es saber como podría ponerse esto en OooBasic, es decir en una macro, como si fuese un condicional con IF... THEN
gracias
Openoffice 3.3.0
Sistema operativo Windows
elenitaex5
 
Mensajes: 56
Registrado: Sab Nov 28, 2009 2:49 pm
Ubicación: Madrid, España

Re: que la palabra empiece de una manera determinada

Notapor FJCC-ES » Vie Dic 18, 2009 3:01 pm

Código: Seleccionar todo   Expandir vistaContraer vista
oDoc = ThisComponent
Sheet = oDoc.Sheets.getByIndex(0)
ResultCell = Sheet.getCellrangeByName("N1")
CellRange = Sheet.getCellRangeByName("A1:M30")
S_Desc = CellRange.createSearchDescriptor()
S_Desc.SearchRegularExpression = True
S_Desc.SearchCaseSensitive = True
S_Desc.SearchString = "\<V.*"  'encuentra palabras que empiezan con V
'S_Desc.SearchString = "^V.*"  'encuentra Parafos que empiezan con V
'S_Desc.SearchString = "V.*"    'encuentra celdas que contienen V
Cells = CellRange.FindAll(S_Desc)
ResultCell.Value = Cells.Count  'numero de celdas encontradas
FJCC-ES
 
Mensajes: 730
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: que la palabra empiece de una manera determinada

Notapor elenitaex5 » Sab Dic 19, 2009 7:58 pm

muchas gracias por la respuesta, ha sido súper util :super:
Openoffice 3.3.0
Sistema operativo Windows
elenitaex5
 
Mensajes: 56
Registrado: Sab Nov 28, 2009 2:49 pm
Ubicación: Madrid, España

Re: que la palabra empiece de una manera determinada

Notapor elenitaex5 » Lun Dic 21, 2009 3:35 pm

se puede utilizar el código que me has puesto con GetString??

sub VictoriaDerrota()
dim hoja as object
dim celda as object
dim celda2 as object
dim co1 as integer

hoja =thisComponent.getSheets().getbyname("Sheet1")
for co1 = 1 to 5
celda=hoja.getcellbyposition (co1,0)
celda2=hoja.getcellbyposition (0,co1)
if ocelda.GetString() = "/<V.*" then
ocelda2.SetString("empieza por V")
else ocelda2.SetString("derrota")
end if
next
end sub


da igual las palabras que ponga, siempre pone "derrota, o si quito el else no pone nada en ningún momento.

en realidad el programa quiero que coja las celdas donde haya una "V" y me ponga que es una victoria y si hay un número ponga que es una derrota.
Openoffice 3.3.0
Sistema operativo Windows
elenitaex5
 
Mensajes: 56
Registrado: Sab Nov 28, 2009 2:49 pm
Ubicación: Madrid, España

Re: que la palabra empiece de una manera determinada

Notapor FJCC-ES » Mié Dic 23, 2009 4:36 am

¿Hace este código lo que necesita?
Código: Seleccionar todo   Expandir vistaContraer vista
sub VictoriaDerrota()
dim hoja as object
dim celda as object
dim celda2 as object
dim co1 as integer

hoja =thisComponent.getSheets().getbyname("Hoja1")
for co1 = 1 to 5
   ocelda=hoja.getcellbyposition (co1,0)
   S_Desc = ocelda.createSearchDescriptor()
   S_Desc.SearchRegularExpression = True
   S_Desc.SearchCaseSensitive = True
   'S_Desc.SearchString = "\<V.*"  'encuentra palabras que empiezan con V
   'S_Desc.SearchString = "^V.*"  'encuentra Parafos que empiezan con V
   S_Desc.SearchString = "V.*"    'encuentra celdas que contienen V
   TestObj = ocelda.FindFirst(S_Desc)
   ocelda2=hoja.getcellbyposition (0,co1)
   if Not IsNull(TestObj) then
      ocelda2.SetString("empieza por V")
   else
      ocelda2.SetString("derrota")
   end if
next
end sub
FJCC-ES
 
Mensajes: 730
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: que la palabra empiece de una manera determinada

Notapor elenitaex5 » Mié Dic 23, 2009 2:31 pm

increíble muchas gracias por tu ayuda, eres un crack!!!! :D :super:
Openoffice 3.3.0
Sistema operativo Windows
elenitaex5
 
Mensajes: 56
Registrado: Sab Nov 28, 2009 2:49 pm
Ubicación: Madrid, España


Volver a Calc

¿Quién está conectado?

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