• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Telefoon- en GSM nummers weergeven

Status
Niet open voor verdere reacties.

NIh1IlO

Gebruiker
Lid geworden
4 feb 2003
Berichten
750
Beste Excelspecialisten,

In een eerder gesteld identiek probleem (zie hieronder) werd mij een oplossing aangeboden waarvan in bijlage het bestandje. Het item werd inmiddels gesloten.
De formule in kolom F
Code:
=ALS.FOUT(OF(SUBSTITUEREN(E3;" ";"");SUBSTITUEREN(E3;"/";"");SUBSTITUEREN(E3;".";""));
ALS(LENGTE(E3)>11;"00"&TEKST(E3;RECHTS("###\ ## ### ## ## ##";LENGTE(E3)+2));ALS(OF(LINKS(E3;3)="009";LINKS(E3;2)="09";LINKS(E3;2)="02";LINKS(E3;2)="03";EN(LENGTE(E3)=9;LINKS(E3;2)="04"));"0"&TEKST(E3;RECHTS("###\ ### ## ##";LENGTE(E3)+3));"0"&TEKST(E3;RECHTS("####\ ## ## ##";LENGTE(E3)+2)))))
schijnt niet meer te beantwoorden aan de vraag en de voorstellingswijze is NIET meer conform de vraag/wens.
Is dit een gevolg van Windows 10 want vroeger deden de formules in bvb. Windows Vista het wel correct.
Hoe komt dit en is er alsnog een oplossing mogelijk? Het zou me ten zeerste plezier doen indien me de juiste oplossing wordt aangereikt. Ik kijk er al naar uit.
Alvast een dikke merci op voorhand en hopelijk met de correcte tip(s).Bekijk bijlage omzetten_telnrs.xlsx

Hoe kan men Belgische telefoonnummers (bv. 091234567 met als zonenummer 09) en GSM nummers (bv. 0123456789) die door mekaar worden gebruikt in een kolom van een tabel, laten verschijnen als respectievelijk 09 123 45 67 of 091 23 45 67 en 0123 45 67 89.
Gebeurt dit bij Celeigenschappen Aangepast en hoe? Of moet het nog een andere wijze worden aangepakt?

Met vriendelijke groeten en bedankt al op voorhand voor de te weerhouden aandacht.

NiH1IlO

onderstaande macro bekijkt de lengte van het telefoonnummer en past de weergave daaraan aan.
Ook de zonenummers worden bekeken: 09 is anders dan 055 enzovoort

je moet maar bekijken of je hier iets mee kan doen.

De code gebruik ik in een userform in excel na invoer van een gsmnummer (zonder spaties of /) in een textbox


Code:
Code:
Private Sub Txtgsm_exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Txtgsm.Text) = 3 Then
Txtgsm.Text = Format(Txtgsm.Text, "000")
ElseIf Len(Txtgsm.Text) = 10 Then
Txtgsm.Text = Format(Txtgsm.Text, "0000/00 00 00")
ElseIf Mid(Txtgsm.Text, 2, 2) = 51 Or Mid(Txtgsm.Text, 2, 2) = 55 Or Mid(Txtgsm.Text, 2, 2) = 56 Or Mid(Txtgsm.Text, 2, 2) = 59 Then
Txtgsm.Text = Format(Txtgsm.Text, "000/00 00 00")
Else
Txtgsm.Text = Format(Txtgsm.Text, "00/000 00 00")
End If
End Sub[/I]
 
Laatst bewerkt door een moderator:
Voldoet dit wel?
Code:
=ALS(LENGTE(SUBSTITUEREN(SUBSTITUEREN(ALS(LINKS(B2;1)="0";B2;"0"&B2);"/";"");".";""))=10;TEKST(SUBSTITUEREN(SUBSTITUEREN(ALS(LINKS(B2;1)="0";B2;"0"&B2);"/";"");".";"");"0000 00 00 00");TEKST(SUBSTITUEREN(SUBSTITUEREN(ALS(LINKS(B2;1)="0";B2;"0"&B2);"/";"");".";"");"000 00 00 00"))
En zo nee, wat voldoet dat niet?
 
Deze doet dat voor u
Code:
=LINKS(SUBSTITUEREN(SUBSTITUEREN("0"&SUBSTITUEREN($A1;" ";"");"/";"");".";"");ALS(LENGTE(SUBSTITUEREN(SUBSTITUEREN("0"&SUBSTITUEREN($A1;" ";"");"/";"");".";""))>9;4;3))&" "& DEEL(SUBSTITUEREN(SUBSTITUEREN("0"&SUBSTITUEREN($A1;" ";"");"/";"");".";"");ALS(LENGTE(SUBSTITUEREN(SUBSTITUEREN("0"&SUBSTITUEREN($A1;" ";"");"/";"");".";""))>9;5;4);3)& " " & RECHTS(SUBSTITUEREN(SUBSTITUEREN("0"&SUBSTITUEREN($A1;" ";"");"/";"");".";"");3)

de formule op zich heeft niets te maken met de Windowsversie, kan afhankelijk zijn van de Excelversie maar speelt hier geen rol.
Wat een fout kan veroorzaken is het gebruik van , ipv ; naargelang de taalinstelling.
 
Beste AlexCEL en Cobbe, bedankt voor de reactie.

De formules werden ingebracht in het bestandje (oranje en groene kolommen).
Het resultaat is niet wat werd verhoopt zoals aanvankelijk werd gemeld:
Hoe kan men Belgische telefoonnummers (bv. 091234567 met als zonenummer 09) en GSM nummers (bv. 0123456789) die door mekaar worden gebruikt in een kolom van een tabel, laten verschijnen als respectievelijk 09 123 45 67 of 091 23 45 67 en 0123 45 67 89.

Nog even ter verduidelijking: het is eigenaardig dat het resultaat plots niet meer voldoet in Excel in Windows 10 (versie 2007 en 2016).

Hopelijk kunnen, jullie, specialisten het varkentje wassen. Ik kijk al uit.

nIh1IlO
 

Bijlagen

  • omzetten_telnrs.xlsx
    12,4 KB · Weergaven: 47
Misschien komt het omdat ik geen Belg ben, maar hoe weet ik in je voorbeeldje dat 123456789 een GSM-nummer is, en 12345678 of 473593223 een telefoonnummer?

Begrijp ik het goed, dat het je puur gaat om het format aan te passen naar "0# ### ## ##" of "0## ## ## ##" ?
 
Beste AlexCEL,
Bedankt voor de feedback.

Inderdaad ik ben een Belg.
De gewone telefoonnummers in België bestaan uit een zonenummer die kan bestaan uit 2 cijfers of uit 3 cijfers.
Uit 2 cijfers zijn de zones 02, 03, 04 en 09.
De rest bestaat uit 3 cijfers: bv. 010, 050, 060, ...
Er moet geen rekening worden gehouden met de speciale telefoonnummers.
Een nummer bestaande uit 9 cijfers is een gewoon nummer: bv. 091234567
Een nummer bestaande uit 10 cijfers kan duiden op een gewoon nummer of op een GSM nummer.
Wanneer echter na het cijfer 0 een staat dan hebben we te maken met een GSM nummer.
Vb.: een gewoon nummer 0501234567 versus een GSM nummer 0412345678.
Op mijn vorige computer (Windows Vista met Excel versie 2007) lukte het perfect om de ingevoerde nummers om te zetten volgens de formule oorspronkelijk weergegeven.
Op een recentere computer met Windows 10 met Excel versie 2007 lukte het niet meer om een resultaat te bekomen volgens de formule.
Op een zeer recente laptop met Windows 10 en Excel versie 2016 lukt het evenmin.
Invoer 051234567 resulteert in 051 234 567 en invoer 0412345678 resulteert in 0412 345 678.
Gewenst zou respectievelijk moeten zijn: 051 23 45 67 en 0412 34 56 78.

Het gaat dus inderdaad om het format dusdanig te dwingen naar de gewenste lay-out voor telefoonnummers in België.

Of heeft het dan toch misschien iets te maken met de instellingen? In dit laatste geval, wat moet er dan aangepast worden?
Bedankt alleszins al op voorhand voor het meedenken en hopelijk wordt.
nIh1IlO
 
Doen jullie wel eens iets simpel in België? ;)

Bijgevoegd een nieuwe poging. Heb gebruik gemaakt van 3 hulpkolommen om het e.e.a. beetje overzichtelijk te houden.
 

Bijlagen

  • omzetten_telnrs (AC).xlsx
    12,8 KB · Weergaven: 43
Code:
Sub M_tst()
    c00 = "012345678"
    MsgBox Format(c00, IIf(Len(c00) = 9, "0", "0#") & "## ## ## ##")
    c00 = "0123456789"
    MsgBox Format(c00, IIf(Len(c00) = 9, "0", "0#") & "## ## ## ##")
End Sub

PS. wellicht simpel, maar niet slim.
 
Dag AlexCEL,

Bedankt alweer eens voor de feedback en het meedenken.
Het resultaat zie je hieronder (ik vond niet terug hoe een screenshot kan worden gevoegd als bijlage).
Het valt op dat voorstelling van de laatste 6 cijfers gegroepeerd worden per 3 en niet zoals werd beoogd.
Is er dan toch iets fout bij de instellingen? Indien ja waar moet dan geïntervenieerd worden?

Hopelijk krijgt het euvel alsnog een positieve afloop.

NiH1IlO


GSM Nr 123456789 123456789 9 nee 0123 456 789 0123 456 789 (GSM nummer)
Tel Nr 12345678 12345678 8 nee 012 345 678 012 345 678 (9-cijferig telefoonnummer)
473593223 473593223 9 ja 0473 593 223 0473 593 223 (10-cijferig telefoonnummer)
0486/23.34.31 486233431 9 nee 0486 233 431 0486 233 431 (10-cijferig telefoonnummer)
0473/976.804 473976804 9 nee 0473 976 804 0473 976 804 (10-cijferig telefoonnummer)
0473/976.804 473976804 9 nee 0473 976 804 0473 976 804 (10-cijferig telefoonnummer)
472611073 472611073 9 ja 0472 611 073 0472 611 073 (10-cijferig telefoonnummer)
476696901 476696901 9 ja 0476 696 901 0476 696 901 (10-cijferig telefoonnummer)
92568737 92568737 8 ja 09 2 568 737 09 2 568 737 (9-cijferig telefoonnummer)
 
Beste snb,
Bedankt voor het meedenken. Het beoogde doel wordt bereikt maar hoe kan dat omgeturnd worden naar een bruikbare formule?

nIh1IlO
 
Door zelf een beetje in de benen te komen.
 
Snb heeft wel een punt, het aanpassen van het format van je nummer is niet heel moeilijk en dat kan je prima zelf. Dit kan door de formule in G3 aan te passen naar het gewenste format bijvoorbeeld 0000-00-00-00.

Als bijlage nog een variant zonder hulpkolommen. Het is wel een draak van een formule geworden...

@cobbe: touché.
 

Bijlagen

  • omzetten_telnrs (AC) (2).xlsx
    12,2 KB · Weergaven: 49
Laatst bewerkt:
Super!

Beste meedenkers,

Bedankt voor de feedback.
De formule in het bestandje van AlexCEL doet het! Er was nog een kleine aanpassing nodig voor het onderste nummer maar het werd succesvol aangepast.
Bedankt specialisten!

Met vriendelijke groeten,
nIh1IlO:thumb::thumb:
 
@Alexcel

Suggestie voor jou, niet voor de TS:

Code:
columns(2).replace ".","")
columns(2).replace "/","")
PHP:
=LEFT("00";10-LEN(B3)-(LEN(B3)=8)) & TEXT(B3;"### ## ## ##")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan