- Apple Watch Sport - ez is csak egy okosóra
- Apple iPhone 17 Pro Max – fennsík
- iPhone topik
- One mobilszolgáltatások
- Apple iPhone 16 Pro - rutinvizsga
- Milyen okostelefont vegyek?
- Reklámok kikapcsolása Xiaomi, Redmi és Poco telefonokon
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy A56 - megbízható középszerűség
-
Mobilarena
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
- Gaming notebook topik
- Hivatalos: jön PC-re a Death Stranding 2, és nem is kell sokat várni
- Konzolokról KULTURÁLT módon
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Formula-1
- Milyen egeret válasszak?
- A fociról könnyedén, egy baráti társaságban
- Kerékpárosok, bringások ide!
- Apple Watch Sport - ez is csak egy okosóra
- Filmvilág
- További aktív témák...
- AKCIÓ! Honor 200 Lite 8GB 256GB mobiltelefon garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 12 Mini 128GB Black -1 ÉV GARANCIA -Kártyafüggetlen, MS4407, 100% Akksi
- KERESEK: Poly Voyager 4320 M UC USB-C 218478-02M Part number: 77Z30AA
- Dell Precision 5520 15,6" FHD, Xeon E3-1505M v5, 16GB RAM, Quadro 4GB VGA, SSD, jó akku, számla, gar
- Ryzen 5 5600X + WIFI-s GIGABYTE lap azonnal vihető
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Fferi50

