- Mi az a monitor ott a gépedben? Csak a Phanteks vizesblokkom...
- Milyen hangkártyát vegyek?
- Amlogic S905, S912 processzoros készülékek
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
- A cégvezetők látják az AI költségeit, csak azt nem hogyan lesz ebből haszon
- Házimozi belépő szinten
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Kormányok / autós szimulátorok topikja
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
-
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
-
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
- EAFC 26
- Mi az a monitor ott a gépedben? Csak a Phanteks vizesblokkom...
- exHWSW - Értünk mindenhez IS
- PlayStation 5
- Hatodik bétánál jár a Galaxy S25
- A fociról könnyedén, egy baráti társaságban
- Milyen hangkártyát vegyek?
- Mikrotik routerek
- Mibe tegyem a megtakarításaimat?
- Jogász topik
- További aktív témák...
- Xiaomi 11 Lite 5G NE 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- BESZÁMÍTÁS! Gigabyte GTX 1050 OC 2GB videokártya garanciával hibátlan működéssel
- Lenovo Thinkpad X1 Nano 5G Gen2 3K IPS i7-1260P 12mag 16GB DDR5 512GB SSD Intel Iris XE W11 Garancia
- Magyarország piacvezető szoftver webáruháza
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50
