Mi trovo in questa situazione.
In un foglio Excel c'è un campo che si chiama "Costo (€/ton)"
Pensavo che fosse normale che l'utente inserisse un numero o niente, invece mi trovo per esempio:
cella vuota
3,4
€ 3,4 a tonnellata
3.4 €/tonnellata
gratis
e questo è solo quello che ho visto io; ma scrivono anche di peggio.
Ho pensato di scremare questi dati con una funziona VBA.
Dato che non sono pratico di Excel, anche se sembra funzionare, vi prego di darle un'occhiata, e di migliorarla se il caso.
richiamabile naturalmente concodice:Public Function TrovaN(source) Dim result Dim pattern pattern = "(\d+)([\.,]\d+)?" Dim r As New VBScript_RegExp_55.RegExp r.pattern = pattern Dim matches, Match If r.Test(source) Then Set matches = r.Execute(source) For Each Match In matches result = Match Exit For Next End If result = Replace(result, ".", ",") If IsNumeric(result) Then result = CDbl(result) TrovaN = result End Function
=TrovaN(A1)
![]()


Rispondi quotando