Kezdőoldal » Számítástechnika » Programok » Hogyan kombináljak (egyszerűbb...

Hogyan kombináljak (egyszerűbb) függvényeket? Telefonszámokat kellene normális formába önteni.

Figyelt kérdés

Van egy táblázatom több ezer telefonszámmal. A számok közt vannak -+() jelek. Hogy az okostelefonomról rögtön fel tudjam hívni, szeretném rendszerezni a számokat. 061xxxyyyy vagy 0622xxxyyy, stb. Vidéki 6-jegyű és fővárosi 7-jegyű számok is vannak. Meg mobilszámok, amik aztán még bonyolítják a dolgot.


Angol nyelvű a 2016-os Excelem.


=SUBSTITUTE(L72, CHAR(45), "")

=SUBSTITUTE(L72, CHAR(32), "")

=RIGHT(N72,6)

="061"&O72



2020. okt. 29. 09:01
 1/2 CspCsj ***** válasza:

Lehet, hogy inkább makróval csinálnám.


Alt+F8 > Írj be a makrónak egy nevet > Create > a megjelenő ablakba a Sub...End Sub közé másold be a következő sorokat:

(az elején a lista és a tartomány egyértelmű, meg hogy 2 cellával jobbra írja be a módosított számot)


TorlendoKarakterLista = "+ - ( ) /"

TelefonszamTartomany = "A2:A10000"

Jobbra = 2


Dim betu As Variant

Dim cella As Range

Dim aktualis As String

Dim TorlendoKarakterek() As String

TorlendoKarakterek = Split(TorlendoKarakterLista, " ")

For Each cella In Range(TelefonszamTartomany)

aktualis = cella.Value

For Each betu In TorlendoKarakterek

aktualis = Replace(aktualis, betu, "")

Next betu

cella.Offset(0, Jobbra).NumberFormat = "@"

If Left(aktualis, 2) <> "06" Then

cella.Offset(0, Jobbra) = "06" & aktualis

Else

cella.Offset(0, Jobbra) = aktualis

End If

Next cella


Megj.:

Ugye annyit csinál, hogy végigmegy a megadott tartományon, kitörli a megadott karaktereket és ha nem 06-tal kezdődik, akkor az elejére beszúrja.

Végül kettővel jobbra kiírja a módosított számot.

2020. okt. 30. 05:06
Hasznos számodra ez a válasz?
 2/2 CspCsj ***** válasza:

A lényeg lemaradt, a makró futtatása:

Excel főablak > Alt+F8 > Run


Illetve a kódot tudod gyorsítani, ha a ciklus idejére letiltod a képernyőfrissítést.

Ehhez az elejére és a végére másold oda:


Sub XXX

Application.ScreenUpdating = False

(fenti kód)

Application.ScreenUpdating = True

End Sub

2020. okt. 30. 05:19
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!