Hirdetés

Új hozzászólás Aktív témák

  • lapa
    veterán

    Halihó!

    Ismét lenne egy kérdésem.
    Van egy oszlopom, amiben telefonszámok vannak ilyen formátumban: 66555444
    Át kéne őket alakítanom ilyen formátummá: 66/555-444
    Igen ám, de a telefonszámok nem mindig ugyanannyi számból állnak. Mert ha mobilszám van bent, akkor 706665544 helyett kéne 70/666-55-44. Ha pedig pesti szám, akkor 12223344 helyett 1/222-33-44. Tovább bonyolítja a helyzetet, hogy a telefonszámok előtt néhol megmaradt a 06, néha pedig csak 6 van előtte. Elképzelésem van hogy hogyan lehetne ezt beprogramozni, viszont visual basichez sík vagyok, az a fránya súgó meg nincs föltelepítve, és megfelelő installlemezt sem találok :(
    Valahogy úgy gondoltam, hogy számjegy szerint osztályozunk:
    pl. a nyolc számjegyű, aminek egyes vagy kettes az eleje: pesti formátum
    egyéb nyolcszámjegyű: vidéki formátum
    a kilenc számjegyű mobil formátum, kivéve ha hatos az eleje, ez esetben a hatost kitörölni
    a nullát minden esetben kitörölni
    kilenc számjegy fölötti részt kitörölni a szám elejéről


    Remélem nem sikerült az érthetetlenségig bonyolítanom :)

    na kiindulásnak ennyi szerintem jó lesz. ezt bepástolod egy új modulba és utána mondjuk a telefonszám (A1) melletti cellába (pl. B1) beírod:

    =telszam(a1)

    ez egyelőre csak a kezdő 0-t vágja le és csak a 8jegyű pöstieket formázza.


    Function telszam(origszam As String) As String

    'kezdő 0 levágása
    If Left(origszam, 1) = 0 Then
    origszam = Mid(origszam, 2, 99)
    End If

    '8 jegyű és 1 v. 2 kezdő szám
    If Len(origszam) = 8 And (Left(origszam, 1) = ''1'' Or Left(origszam, 1) = ''2'') Then
    telszam = Left(origszam, 1) & ''/'' & Mid(origszam, 2, 3) & ''-'' & Mid(origszam, 5, 2) & ''-'' & Mid(origszam, 7, 3)

    Else

    telszam = origszam

    End If

    End Function

Új hozzászólás Aktív témák