-
Fototrend
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
-
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 ExplicitDim arrFormatsSub FormatNumbers()Dim s As RangeDim r As VariantDim 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önarrFormats = ActiveSheet.ListObjects("tFormats").DataBodyRange.ValueSet s = Intersect(Selection, ActiveSheet.UsedRange)If Not s Is Nothing Then'kijelölt adatokon végigmegyünkFor Each s In Selectionr = FindFormat(s.Value)If IsArray(r) Then'a cél cella formázását levesszüks.ClearFormats'beállítjuk a formátumots.NumberFormat = r(1)'ha van színezünkIf r(2) <> "" Thenszinek = Split(r(2), ",")If UBound(szinek) = 2 Then s.Interior.Color = RGB(szinek(0), szinek(1), szinek(2))End IfEnd IfNext sEnd IfEnd SubFunction FindFormat(p As String) As VariantDim i As LongDim pFormat(1 To 2) 'formátum és színkódDim pKezdo As StringDim pHossz As LongpHossz = Len(p)FindFormat = ""If pHossz = 0 Then Exit Function'végigmegyünk a létező formátumokonFor i = 1 To UBound(arrFormats)pKezdo = ""'hossz alapján keresünk egyezéstIf arrFormats(i, 2) >= pHossz And arrFormats(i, 3) <= pHossz ThenpKezdo = arrFormats(i, 1)'kezdõ karakterek alapján keresünk egyezéstIf Left(p, Len(pKezdo)) Like pKezdo Then'ha van egyezés akkor elmentjük és kilépünk a ciklusbólpFormat(1) = arrFormats(i, 4)pFormat(2) = arrFormats(i, 5)FindFormat = pFormatExit ForEnd IfEnd IfNext iEnd FunctionCsak 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).
Új hozzászólás Aktív témák
- Elemlámpa, zseblámpa
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- exHWSW - Értünk mindenhez IS
- Kínai és egyéb olcsó órák topikja
- BestBuy topik
- SSD kibeszélő
- Melyik tápegységet vegyem?
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- Óra topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- OnePlus Pad Go Green nagy kijelző, könnyű hordozhatóság 8/128 GB Használt, karcmentes 3 hó
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
- Lenovo ThinkPad X1 Active Noise Cancellation fejhallgató
- BESZÁMÍTÁS! 1TB Samsung 870 EVO 2,5" SATA SSD meghajtó garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3854,94% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

Fferi50
