Newsgroup: it.hobby.fai-da-te
Titolo: excel openoffice togliere e cambiar carattere ripetuto in posizione qualsiasi

se le celle contengono righe del tipo
 
 
a1325-3234-340-435
a35tyi254-2ko435
ey-556uyut-67
 
da trasformare in
a13253234340_435
a35tyi254_2ko435
ey556uyut_67
 
 
 
 
come si fa a cambiare l'ultimo trattino in _ e a togliere quelli 
precedenti ?
la posizione dei trattini non è sempre la stessa
e anche la quantità cambia

 precedenti ?
 
salva in cvs ed usa un qualunque linguaggio di programmazione oppure usa 
sed
 
https://unix.stackexchange.com/questions/159367/using-sed-to-find-and-
 
replace

 e anche la quantità cambia
 
fallo a mano fai prima
 


con una formula  non si riesce neanche a trovare l'ultimo trattino?
poi il resto farei a mano con un cerca e sostituisci
in maniera provvisoria

 fallo a mano fai prima
troppe righe
 

 in maniera provvisoria
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)
 

 Fosse sotto Office vecchio (2003) non avrei problemi, 
 
 
Function antony_il_morpher(MiaStringa As String)
 
Dim J, NumeroCaratteri As Long
Dim MioCarattere As String
Dim SoloLaPrima As Boolean
Dim Temp As String
 
Let SoloLaPrima = True
Let Temp = ""
 
' effettua correzione della stringa creando una stringa temporanea
For J = Len(MiaStringa) To 1 Step -1
 Let MioCarattere = Mid(MiaStringa, J, 1)
 If MioCarattere = "-" Then
    If SoloLaPrima Then
        MioCarattere = "_"
        Let SoloLaPrima = False
    Else
        MioCarattere = ""
    End If
 Else
    MioCarattere = MioCarattere
 End If
 Let Temp = Temp + MioCarattere
Next J
 
' ribalta la stringa
Let antony_il_morpher = ""
For J = Len(Temp) To 1 Step -1
  Let MioCarattere = Mid(Temp, J, 1)
  Let antony_il_morpher = antony_il_morpher + MioCarattere
Next J
 
End Function
 
 
 
 


eh beh, ma così non si interfaccia con nessun oggetto / 
struttura nativa di Libre Office (tabelle, celle etc),
il casino è invocare il dispatcher per appropriati oggetti 
uno (che non hanno manco intellisense né parametri passati 
da cristiani, solo elefantiaci array).


 struttura nativa di Libre Office (tabelle, celle etc),
 
Sì che si interfaccia, è solo una funzione (scritta in un excel di vent'anni fa) quindi legge un riferimento (tipicamente una cella) e sputa direttamente un risultato
 
nella cella A1 metti 1-22-333-4444
nella cella B2 ci scrivi =antony_il_morpher(a1) 
premi return
in B2 leggi 122333_4444 
come richiesto dal petente
 
la funzione la troverai nell'elenco delle funzioni, categoria "definita dall'utente"
 
per inserire la funzione dell'utente devi aprire il VBA o equivamente, inserire un nuovo modulo e copiaincollare il codice postato.
 
Lo so che è offtopic, la speranza è sempre che serva a qualcuno, non al morpher che è  uno scroccone seriale infatti cambia continuamente nick per non farsi riconoscere. 
 
prova e fammi sapere
 

 prova e fammi sapere


 funzione è confinata ad uso interno del linguaggio. 
 
non importa
 
ciao
 

 ciao


> ciao
 
-- 
    * b *
  *   y   *
*   Piero   *
#v+
-deus ex machina-
#v-