- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Elektromos rásegítésű kerékpárok
- ricsi99: 6. Genes alaplap tündöklése.. kontra MS/Zintel korlátozásai.(Mehetnek a levesbe)
- gban: Ingyen kellene, de tegnapra
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Luck Dragon: Asszociációs játék. :)
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
válasz
KaliJoe #53475 üzenetére
Kivitelezhető, csak több melóval, mivel a nemzetközi telefonszám-formátumok országonként eltérnek. Nemzetközi számoknál az országkódot ki kell szedni, telószám hosszát lekérdezni és ebből a kettőből lehet meghatározni megjelenítési formátumot.
Feltételes formázással is kivitelezhető, de amint egy újabb ország telószáma bekerül, egyből új szabály(ok) hozzáadása szükséges.Az utolsó 2 szabály a 2 Németországi formátumot érvényesíti.
1.=LET(Nemzetközi_DE;BAL(A1;2);Nemzetközi_DE_HOSSZ;HOSSZ(A1);HA(ÉS(Nemzetközi_DE="49";Nemzetközi_DE_HOSSZ=12);1))
2.=LET(Nemzetközi_DE;BAL(A1;2);Nemzetközi_DE_HOSSZ;HOSSZ(A1);HA(ÉS(Nemzetközi_DE="49";Nemzetközi_DE_HOSSZ=13);1))
-
Mutt
senior tag
válasz
KaliJoe #53475 üzenetére
Szia,
Az én megoldásom azon alapszik, hogy van egy táblázat amely tartalmaz pár adatot ami alapján meg lehet találni, hogy melyik formátumot kell használni.
Mutatom.
Jobb oldalt van a táblázat, amiben a telefonszám első pár karaktere van megadva (lehet dzsóker karaktert - kérdőjel most csak - is használni). Aztán van hossz is, hogy az altípusokat meg lehessen különböztetni (biztosra mentem és tartományt lehet megadni).
Majd jön a kívánt számformátum, itt követni kell az Excel speciális számformátum szabályait. Meg lehet adni, hogy milyen háttérszíne legyen a cellának (három szám 0-255 között, vesszővel felsorolva a vörös-zöld-kék alapszínekhez). A komment pedig segít eligazodni a káoszban.A táblázatban fontos a sorrend. Ha több lehetőség is van akkor is az első találatot fogja használni a makró.
Ezek után a makró:
Option Explicit
Dim arrFormats
Sub FormatNumbers()
Dim s As Range
Dim r As Variant
Dim szinek As Variant
'megadott formátumokat memóriába töltjük
'ha más a tábla neve akkor a tFormats helyére a helyes kerüljön
arrFormats = ActiveSheet.ListObjects("tFormats").DataBodyRange.Value
Set s = Intersect(Selection, ActiveSheet.UsedRange)
If Not s Is Nothing Then
'kijelölt adatokon végigmegyünk
For Each s In Selection
r = FindFormat(s.Value)
If IsArray(r) Then
'a cél cella formázását levesszük
s.ClearFormats
'beállítjuk a formátumot
s.NumberFormat = r(1)
'ha van színezünk
If r(2) <> "" Then
szinek = Split(r(2), ",")
If UBound(szinek) = 2 Then s.Interior.Color = RGB(szinek(0), szinek(1), szinek(2))
End If
End If
Next s
End If
End Sub
Function FindFormat(p As String) As Variant
Dim i As Long
Dim pFormat(1 To 2) 'formátum és színkód
Dim pKezdo As String
Dim pHossz As Long
pHossz = Len(p)
FindFormat = ""
If pHossz = 0 Then Exit Function
'végigmegyünk a létező formátumokon
For i = 1 To UBound(arrFormats)
pKezdo = ""
'hossz alapján keresünk egyezést
If arrFormats(i, 2) >= pHossz And arrFormats(i, 3) <= pHossz Then
pKezdo = arrFormats(i, 1)
'kezdõ karakterek alapján keresünk egyezést
If Left(p, Len(pKezdo)) Like pKezdo Then
'ha van egyezés akkor elmentjük és kilépünk a ciklusból
pFormat(1) = arrFormats(i, 4)
pFormat(2) = arrFormats(i, 5)
FindFormat = pFormat
Exit For
End If
End If
Next i
End Function
Csak a kijelölt cellák formátumát változtatja meg! Vagyis előbb jelöljük ki a cellákat/oszlopokat és utána futassuk (Alt+F8-at nyomva vagy egy gombot kitéve).
-
Fferi50
Topikgazda
válasz
KaliJoe #53475 üzenetére
Szia!
Sajnos nem erre gondoltam, a maszkok teljesen érthetőek. De
Pl. 123456789, 345678289, 21345678912
Mondd meg légy szíves, melyik maszkot használjam ezekre, mindegyikre ugyanazt vagy melyikre milyent.
Melyik számról mit tudsz megállapítani?
Mi van, ha a magyar telefonszámhoz nincs a +36?
Üdv.
Új hozzászólás Aktív témák
Hirdetés
- Futás, futópályák
- OLED TV topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Mégis marad a Windows 10 ingyenes frissítése
- sziku69: Fűzzük össze a szavakat :)
- E-roller topik
- Vezeték nélküli fülhallgatók
- Gitáros topic
- Magga: PLEX: multimédia az egész lakásban
- Elektromos rásegítésű kerékpárok
- További aktív témák...
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
- HIBÁTLAN iPhone 14 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3242
- HIBÁTLAN iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3303
- Samsung Galaxy Tab S8 / 8/128GB / Kártyafüggetlen / 12 HÓ Garancia
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest