Hirdetés
- talmida: My Art II.
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Met: Metallica: M72 World Tour
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- Brain turbó: Intel Xeon CPU asztali alaplapban
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
-
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
-
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
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Alpine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4599, 100% Akksi
- Razer Iskur V2 Black gamer szék
- Apple iPhone 12 Mini 64GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3781
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50