- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Lalikiraly: Commodore The C64, Ultimate
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Pajac: Nincs rá kapacitásom
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- tordaitibi: Moltbook- az AI közösségi platformja
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
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
-
válasz
tgumis
#53308
üzenetére
Most nem volt sok időm, ezért egy makrót írtam hozzá. Nem elképzelhetetlen, hogy kivitelezhető összetettebb sima képlettel is, most sajna nincs időm ezen agyalni.
Module1 kód (Topik összefoglalóban megtalálod, hogy lehet beszúrni)
Option Explicit
'Fire/SOUL/CD - 2024
Public Function Fire_CreateMenu_FX(MyCell As Variant, MyRange As Range, MyColumnIndex As Integer) As String
'MyCell -> forrás cella címe (amit fel kell dolgozni)
'MyRange -> az a tartomány (táblázat, ha úgy tetszik), ahol fel vannak sorolva a menükódok és megnevezésük
'MyColumnIndex -> tartomány (táblázat) azon oszlopa, amely a menük megnevezését tartalmazza
'elválasztó karakter (itt vessző), ezzel vannak elválasztva a menükódok a cellá(k)ban
Const MYDELIMITER = ","
'szöveg típusú dinamikus tömb
Dim MyStringArray() As String
'ciklusszámláló
Dim i As Long
'FELOSZTÁS függvény segítségével, a MYDELIMITER paraméterrel tömböt hozunk létre
MyStringArray = Split(MyCell.Value, MYDELIMITER)
'a feldolgozott, teljes menü ebbe a szöveges változóba fog kerülni
Dim MyString As String
MyString = ""
'végignézzük a tömb elemeit (kódokat a cellában, ami bármennyi lehet)
For i = 0 To UBound(MyStringArray)
On Error Resume Next
'FKERES függvény futtatása. Megkeressük az összes menükódot és összefűzzük egy darab string-be
MyString = MyString + Application.WorksheetFunction.VLookup(CInt(MyStringArray(i)), MyRange, MyColumnIndex, False)
'hibakezelés, ha olyan kód lett megadva, ami nem létezik a tartományban
If Err.Number <> 0 Then
MsgBox "A(z) " & MyStringArray(i) & " azonosító nem található a(z) " & MyRange.Address & " tartományban!"
End If
'ha nem az utolsó menükód, akkor egy vessző+szóköz párossal elválasztjuk őket egymástól
If i <> UBound(MyStringArray) Then
MyString = MyString + ", "
End If
Next i
'visszaadjuk a feldolgozott, teljes menüsort
Fire_CreateMenu_FX = MyString
End FunctionÍgy tudsz rá hivatkozni (függvény paraméterezése megegyezik az FKERES függvényével)
Megjegyzés
Menükódok csak számjegyeket tartalmazhatnak.[ Módosította: koncsik ]
Új hozzászólás Aktív témák
- Melyik tápegységet vegyem?
- PlayStation 5
- Samsung Galaxy Felhasználók OFF topicja
- Okos Otthon / Smart Home
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen billentyűzetet vegyek?
- Yettel topik
- Máris elfogytak az idei évre szánt HDD-k a Western Digitalnál
- Cyberpunk 2077
- További aktív témák...
- Honor Magic6 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP ProDesk 600 G5 i5-9500 8GB 256GB 1 év garancia
- Dell Pro Plus 14 Core Ultra 5 238V 32GB 512GB FHD+ TouchScreen ProSupport Plus gar: 2028.10.07
- Dell Latitude E7270,12.5",FHD,i7-6600U,8GB DDR4,256GB SSD,WIN11
- Lenovo ThinkPad P14s Gen 4 Intel Core i7-1370P Nvidia T550 32GB 512GB 1 év teljeskörű garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50