Hirdetés
-
PROHARDVER!
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
Fferi50
#52972
üzenetére
Úgyis régen makróztam, kedvem szottyant kicsit nosztalgiázni ezen a késői órán, szabályokat meg úgy értelmeztem, ahogy korábban.

Ha másra nem is lesz jó, páran talán találnak benne hasznosítható dolgokat...
Module1-be
Option Explicit'Fire/SOUL/CD - 2024Public Function Fire_dm1970_FX(MyCell As Range) As String'elválasztó karakter (itt szóköz), ezzel vannak elválasztva a szavak a cellá(k)banConst MYDELIMITER = " "'szöveg típusú dinamikus tömbDim MyStringArray() As String'színek deklarálása tömbben (bármennyi lehet)Dim MyColors() As VariantMyColors() = Array("FEHÉR", "KÉK", "ZÖLD", "PIROS", "FEKETE", "HUPIKÉK")'ciklusszámlálóDim i As Long'az Ubound fx értékét ebben tároljukDim MyColorIndex As Long'SPLIT függvény segítségével, a MYDELIMITER paraméterrel tömböt hozunk létreMyStringArray = Split(MyCell.Value, MYDELIMITER)'végignézzük a tömb elemeit (szavakat a cellában, ami bármennyi lehet)For i = 0 To UBound(MyStringArray)'a tömb 0. eleme (első szó a cellában) egy deklarált szín?'ha igen, akkor a színt adjuk vissza és kilépünk a függvénybőlMyColorIndex = UBound(Filter(MyColors, MyStringArray(0), , vbTextCompare))If MyColorIndex > -1 ThenFire_dm1970_FX = UCase(MyStringArray(0))Exit FunctionEnd If'a tömb utolsó eleme (utolsó szó a cellában) egy deklarált szín?'ha igen, akkor a színt adjuk vissza és kilépünk a függvénybőlMyColorIndex = UBound(Filter(MyColors, MyStringArray(UBound(MyStringArray)), , vbTextCompare))If MyColorIndex > -1 ThenFire_dm1970_FX = UCase(MyStringArray(UBound(MyStringArray)))Exit FunctionEnd If'a tömb i-edik eleme egy deklarált szín?'ha igen, akkor az i+1-dik elemet (cellában első megtalált deklarált színt követő szót) adjuk vissza és kilépünk a függvénybőlMyColorIndex = UBound(Filter(MyColors, MyStringArray(i), , vbTextCompare))If MyColorIndex > -1 ThenFire_dm1970_FX = UCase(MyStringArray(i + 1))Exit FunctionEnd If'ha nem találtunk a cellában deklarált színt, akkor töröljük a cella tartalmátFire_dm1970_FX = ""Next iEnd Function
Új hozzászólás Aktív témák
- Ableton Live 12 Suite Education
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Ps4 és PC Játékok (Április 3. UP!) Olvass...
- AKCIÓ! MSI Claw A1M 512GB SSD kézikonzol garanciával hibátlan működéssel
- 261 - Lenovo LOQ (17IRX10) - Intel Core i7-14700HX, RTX 5070
- ÚRIS10!!! RAMÁRON! LEGION 5 i7-13650HX 32GB RAM 1TB SSD RTX 5070 8GB
- Hibás Lenovo ThinkPad P17 Gen1 20sq, 17,3" workstation notebook
- BESZÁMÍTÁS! Akár részletfizetés 0% THM ÚJ Intel LGA 1700 processzorok 3 év garanciával 27% áfaval
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



