Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Mutt

    aktív 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

    A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

Új hozzászólás Aktív témák