-
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
- Akvarisztika
- Kormányok / autós szimulátorok topikja
- Mini PC
- Ford topik
- Bestbuy játékok
- Azonnali fáradt gőzös kérdések órája
- Vezeték nélküli fülhallgatók
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Soundbar, soundplate, hangprojektor
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Samsung Galaxy Tab A9+ 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP ProDesk 600 G5 i3-9100 8GB 256GB 1 év garancia
- Xiaomi 13T Dobozzal Töltővel
- iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen
- BESZÁMÍTÁS! ASROCK H510M i5 11400F 16GB DDR4 512GB SSD RX 9060 XT 16GB Rampage SHIVA ADATA 650W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

Fferi50
