Avem câteva coduri de produse de genul:
123abc
abcd1234
12389aaaaaaa
Dorim să extragem doar cifrele. Cu funcţii de tip text e o întreaga nebunie. Iată însă două funcţii, una care extrage cifrele iar cealaltă literele dintr-o expresie de genul celor de mai sus.
Function NumberOut(rng As Range)
Dim i As Integer
For i = 1 To Len(rng)
Select Case Asc(Mid(rng.Value, i, 1))
Case 0 To 64, 123 To 197
Case Else
NumberOut = NumberOut & _
Mid(rng.Value, i, 1)
End Select
Next i
End Function
Function LetterOut(rng As Range)
Dim i As Integer
For i = 1 To Len(rng)
Select Case Asc(Mid(rng.Value, i, 1))
Case 0 To 64, 123 To 197
LetterOut = LetterOut & Mid(rng.Value, i, 1)
End Select
Next i
End Function
Ce trebuie să faceţi?
Copiaţi cele două coduri, deschideţi fereastra Visual Basic Editor (ALT+F11), în ferastra VBE, din meniul INSERT inseraţi un modul nou şi daţi Paste.
Ne întoarcem în Excel, şi cu Insert Function (butonul fx) introducem din categoria User Defined, funcția dorită.
Introducem celula care contine codul alfanumeric și…gata