-
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
-
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
- Eladó új állapotban levő Redmi Note 10S 6/128GB szürke / 12 hónap jótállás
- Surface Pro 7+ i5-1135G7 16G 256GB 1 év garancia
- Samsung 870 QVO 8TB Sata 2.5 SSD
- HP Elitebook 840 G3,FHD,14",i5-6300U,8GB DDR4,256GB SSD,WIN11
- AKCIÓ! Gigabyte Z790 i7 14700KF 64GB DDR5 1TB SSD RTX 5070Ti 16GB LIAN LI LANCOOL 207 850W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


