novembre 2012 Blog Posts

Le parole in grassetto

Un'altra proposta dopo una breve discussione sul forum di Excel VBA. La richiesta era di poter estrarre il testo in grassetto da una selezione di celle. Al richiedente interessavano le parole intere, il che ha reso più semplice la funzione che segue. Ecco il codice della mia soluzione, get_bold_words. Le si passa un range di celle e restituisce una stringa con le sole parole in grassetto che compaiono nella selezione, separate da spazio. Function get_bold_words(cella As Range) As String Dim i As Integer, s As String For Each v In Split(cella, " ") s...

Numeri romani II - la vendetta del gladiatore

Dopo essere transitato sul forum di Excel VBA, e aver ricevuto complimenti immeritati, il codice che avevo illustrato qui ("Numeri romani") ha rivelato la sua estrema complicatezza ed inadeguatezza. Perciò mi sono messo al lavoro e ne ho prodotto una versione, finalmente, più decente e comprensibile :) Ecco qui il codice della nuova funzione =DEC_TO_ROMAN(). Option Explicit Function dec_to_roman(n As String) As String Dim numero As Long, s As String Dim i As Integer, j As Integer If n < 1 Or n > 3999 Then dec_to_roman = "#VALORE!" ...

Il suono delle cose

Ogni cosa ha un suono... anche i nomi :) e questo può tornare utile soprattutto nelle ricerche. In questo breve post vi illustro una mia versione di Soundex. Soundex è un algoritmo di fonetica per l’indicizzazione di parole secondo il loro suono o pronuncia. Nato essenzialmente per la pronuncia inglese, può essere trasportato in altre lingue come l’italiano. L’obiettivo è di poter raggruppare parole omofone (dal suono simile) affinché possano essere abbinate per un ricerca veloce, nonostante differenze o errori di ortografia. In un database di prodotti, la ricerca di "MATITA" troverà corrispondenze con "MATITA" e "MATITE", ma anche con "MATTITA"....

Numeri romani

Da una proposta che ho fatto sul forum Excel VBA (http://excelvba.altervista.org/index.php) propongo qui una piccola funzione che trasforma un numero in base dieci in un numero costruito secondo la notazione romana. In Excel è disponibile la funzione =ROMANO() che fa la stessa cosa e anche di più ;) io mi sono attenuto alla regola classica. Buon divertimento e se avete suggerimenti... fateli :) Option Explicit 'converte un numero in base 10 in un numero romano 'vista la particolarità di questo sistema di numerazione, 'la funzione accetta solo numeri interi positivi tra 1 e 3999. 'es. dec_to_roman(891) --> "DCCCXCI" Function dec_to_roman(n As Integer) As String Dim numero As Long,...