Inverti una stringa con un separatore

Sempre nell’ottica di gestire le stringhe (vedi “Inverti  il testo di una cella” e “StrReverse“) questa funzione separa una stringa contenente un separatore e ne inverte l’ordine.

In pratica, prendendo un testo tipo “Nome Cognome” usando

Gianmario_inverti_con_separatore (“Nome Cognome”;” “)

otterremo come risultato il testo “Cognome Nome”.  

La funzione usa Split per creare una matrice unidimensionale di stringhe e UBound per scansirla con un ciclo For.

 

Codice

Public Function Gianmario_inverti_con_separatore
                (testo As String, separatore As String)

Dim I As Integer
Dim stringainversa As String

parole = VBA.Split(testo, separatore)
stringainversa = ""

For I = UBound(parole) To 0 Step -1
   stringainversa = stringainversa & parole(I) & separatore
Next

Gianmario_inverti_con_separatore = stringainversa

End Function

Inverti il testo di una cella

Mi è servita una volta. 

Questa funzione riceve in ingresso una cella e il valore 1 ad indicare che si tratti di testo. E restituisce il testo invertito.

Per evitare di dimenticarmene, me lo copio_incollo qui nel caso possa tornarmi utile in un futuro. 

Utilizzo: Gianmario_Inverti_il_testo(A1)

Public Function Gianmario_Inverti_il_testo 
                (Intervallo As Range)

Dim I As Integer
Dim NuovaStringa, VecchiaStringa As String

VecchiaStringa = Trim(Intervallo)
For I = 1 To Len(VecchiaStringa)
   NuovaStringa = Mid(VecchiaStringa, I, 1) & NuovaStringa
Next I

' *** output ***
Gianmario_Inverti_il_testo = CLng(NuovaStringa)

End Function

Elimina URL da un intervallo di celle

 

Il mio range di celle contiene un collegamento ipertestuale (hyperlink) che desidero visualizzare in una cella come testo.

In pratica desidero tenere il solo indirizzo senza il testo descrittivo.

Ho scritto una funzione ad-hoc per questa operazione. 

HL è l’argomento della funzione (l’indirizzo della cella contenente il collegamento ipertestuale da cui estrarre l’URL)

L’output della funzione è la variabile Link che contiene l’URL estratto.

Public Function Gianmario_ExtractURL(HL As Range)
' Estrae l'indirizzo URL da un collegamento ipertestuale
Dim Link As String
Application.Volatile
Link = ""

If HL.Hyperlinks.Count Then
    Link = HL.Hyperlinks(1).Address
End If

' Ritorno l'URL come testo 
Gianmario_ExtractURL = Link
End Function