Hirdetés
- Minőségi ugrást hozhat a One új médiaboxa?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen RAM-ot vegyek?
- Kompakt vízhűtés
- Milyen processzort vegyek?
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Pánikban a világ a Radeon RX 5000 és 6000 sorozat támogatása miatt
- Vezeték nélküli fülhallgatók
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Ne szórd ki a pénzed pixelekre!
-
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
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
- Minőségi ugrást hozhat a One új médiaboxa?
- Bundle topik
- Wise (ex-TransferWise)
- Polgári repülőgép-szimulátorok
- Samsung Galaxy S21 FE 5G - utóirat
- Xbox Series X|S
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Háztartási gépek
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Egyedi ékszerdobozka
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 512GB SSD GTX 1050Ti 4GB Thermaltake V3 fekete Zalman500W
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3070Ti / 32GB DDR5 / 1 TB SSD
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- HP ZBook Firefly 14 Gen8 I7-1165G7
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest
Fferi50

