Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Bestx: Budget DIY eGPU USB4/Thunderbolt csatlakozással – egy mining VGA új élete.
- suste: Openwrt Barrier Breaker 14.07 saját verzió Tp-link routerekre
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Luck Dragon: MárkaLánc
- 8th: A NOB legalizálja a doppingot?
- MasterDeeJay: Asus Q170M-C coffeetime mod!
- bambano: Bambanő háza tája
-
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
-
Mutt
senior tag
válasz
andreas49
#49005
üzenetére
Szia,
Itt egy makrós változat, amely a KIJELÖLT oszlopon végzi el az átalakítást és mellé írja be a kapott értékeket. Mivel nem írtad hogy mi történjen ha a formátum nem követi az "abc (def) [ghi]" formátumot ezért ahogy nekem logikusnak tűnt írtam meg a kódot. A kommentek alapján próbáld meg módosítani.

Sub Szetszed()
Dim cella As Range
Dim adatsor As Range
Dim pos1 As Long, pos2 As Long, pos3 As Long
Dim text1 As String, text2 As String, text3 As String
'a kijelölt és adatokat tartalmazó tartományt használjuk csak
Set adatsor = Application.Intersect(Selection, ActiveSheet.UsedRange)
'végig megyünk a cellákon
For Each cella In adatsor
text1 = ""
text2 = ""
text3 = ""
'keressük a szövegben a zárójelet
pos1 = InStr(1, cella, "(")
'ha van zárójel akkor a csonkoljuk a szöveget a talált pozícióig
If pos1 > 0 Then
'ha van zárójel akkor a csonkoljuk a szöveget a talált pozícióig
text1 = Trim(Left(cella, pos1 - 1))
'keressük a szögletes árójelet
pos2 = InStr(pos1, cella, "[")
If pos2 > 0 Then
'ha van szögletes, akkor kivesszük a szöveget a zárójel utáni pozíciótól kezdve
text2 = Replace(Trim(Mid(cella, pos1 + 1, pos2 - pos1 - 1)), ")", "")
text3 = Replace(Trim(Mid(cella, pos2 + 1, Len(cella) - pos2)), "]", "")
Else
'nincs szögletes zárójel, de sima volt
pos2 = InStr(pos1, cella, ")")
text2 = Trim(Mid(cella, pos1 + 1, pos2 - pos1 - 1))
text3 = Trim(Mid(cella, pos2 + 1, Len(cella) - pos2))
End If
Else
'nem volt zárójel tartsuk meg az eredeti szöveget
text1 = cella
End If
'eredeti cella melletti oszlopokba írjuk az eredményt
cella.Offset(, 1) = text1
cella.Offset(, 2) = text2
cella.Offset(, 3) = text3
Next cella
End Subüdv
Új hozzászólás Aktív témák
- Soundbar, soundplate, hangprojektor
- MIUI / HyperOS topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Lassan húzóágázat lesz a villanyautó a Xiaominál
- Filmvilág
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- DJI topic
- Fotók, videók mobillal
- Samsung Galaxy Felhasználók OFF topicja
- További aktív témák...
- RÉSZLETRE .Bankmentes kamatmentes. OPCIONÁLIS. G.SKILL Trident Z5 Neo RGB 96GB (2x48GB) DDR5 6000MHz
- GAMER PC! Intel Ultra 245 / RTX 5070 / H810M-X WIFI / 32GB DDR5 / SSD 512GB / 700w! BeszámítOK!
- Apple iPhone 16 Plus Pink 128GB használt karcmentes 94% akku (316 ciklus) 6 hónap garancia
- Eladó Apple iPhone 14 128GB fekete / 12 hó jótállás
- Dell Pro Plus 14 Core Ultra 5 238V 32GB 1000GB FHD+ TouchScreen ProSupport Plus gar: 2028.10.07
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50