• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Inhoud van een cel omdraaien?

Status
Niet open voor verdere reacties.

Gert Bouwmeeste

Verenigingslid
Lid geworden
28 nov 2007
Berichten
822
Ik heb een bestand met circa 4.000 regels. Dat komt in een bepaald format uit het mainframe en is niet aan te passen. De regels zien er zo uit:
Code:
151401,154030,154047,150098,150300,151900,910063
151402,154030,154047,150098,150300,151900,910063

Om het te kunnen verwerken heb ik de inhoud van de cel anderom nodig, dus de laatste code als eerste enz., dit zou het moeten zijn:

Code:
910063,151900,150300,150098,154047,154030,151401
910063,151900,150300,150098,154047,154030,151402

Zie ook bijgevoegd voorbeeldbestand.

Is er een code of formule waarmee dit kan? Doordat de codes verschillend van lengte zijn is het werken met DEEL of zo lastig. Althans ik geraak er niet uit.
 

Bijlagen

  • Voorbeeld structuur.xls
    16,5 KB · Weergaven: 35
Hoi Gert :thumb:

Code:
Sub omkerenWigi()

    Dim r As Range
    Dim l As Long
    Dim arrDelen() As String
    Dim arrDelenOmgekeerd() As String
    
    Application.ScreenUpdating = False
    
    For Each r In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)
    
        arrDelen() = Split(r.Value, ",")
        
        ReDim arrDelenOmgekeerd(LBound(arrDelen, 1) To UBound(arrDelen, 1))
        
        For l = LBound(arrDelen, 1) To UBound(arrDelen, 1)
            
            arrDelenOmgekeerd(UBound(arrDelenOmgekeerd, 1) - l) = arrDelen(l)
            
            With r.Offset(, 1)
                .NumberFormat = "@"
                .Value = Join(arrDelenOmgekeerd, ",")
            End With
            
        Next
    
    Next
    
    Application.ScreenUpdating = True

End Sub

Wigi
 
Dit is typisch iets voor VBA, alhoewel het wel mogelijk is zonder.

Afwachten welke VBA man/vrouw een code voor je wil schrijven.
edit: Wigi heeft het al gedaan zie ik:thumb:
 
Gert Bouwmeeste, Zet deze functie in een standaard module van je workbook.

Code:
Function RevText(sInhoud As String) As String
Dim arrTempInhoud As Variant
Dim arrTempOmkeer As Variant
Dim i As Integer, y As Integer

    arrTempInhoud = Split(sInhoud, ",")
    
    y = 0
    
    ReDim arrTempOmkeer(UBound(arrTempInhoud))
    
    For i = UBound(arrTempInhoud) To 0 Step -1
        arrTempOmkeer(y) = arrTempInhoud(i)
        y = y + 1
    Next i

    RevText = Join(arrTempOmkeer, ",")

End Function
Zet vervolgens in de cel naast degene die je wilt omzetten (als voorbeeld cel A1) deze formule =RevText(A1). Doe zo je hele kolom en copieer die en plak als tekst. Dan heb je alles netjes omgedraaid.

Groet, Leo
 
Laatst bewerkt:
Het werkt!

Wigi en Ginger,

Oplossingen getest en het werkt! Fantastisch, dat scheelt iedere dag zoveel werk! :thumb:

Bedankt, top! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan