• 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.

waarden cell omdraaien en uitzetten in meerdere cellen

Status
Niet open voor verdere reacties.

petermb

Gebruiker
Lid geworden
16 dec 2011
Berichten
6
Hallo,

Ik zit met leuke kwestie.

ik heb in een cel de waarden:

direct / cpc > Indeed / cpc > vacaturebase.nl / referral,28,"€*280,00"

nu moeten deze waarden in om gekeerde volgorde in meerdere cellen komen. waarbij in het begin de , een scheidingsteken is en daarna de >

Dus het resultaat dient te zijn
"€*280,00" 28 vacaturebase.nl / referral Indeed / cpc direct / cpc

Weet iemand hoe ik dit kan doen?

Graag jullie hulp!
 
Met tekst naar kolommen en vervolgens verwijzing naar de nieuwe kolommen.

De uitkomst is dan echter wel anders dan de "gewenste" uitkomst.

Je draait niet alle waarden om!.

Laat je weten of dit is wat je bedoelt.

Heb je hier vragen of opmerkingen over, laat het gewoon even weten.
 

Bijlagen

Ik zou het doen via een macro die de gegevens d.m.v Split in 2 arrays inleest.
Daarna beide arrays van hoog naar laag uitlezen en de cellen vullen met de array-waarde waarbij je de hoogste array-index waarde met Substring uitleest tot aan de positie van het scheidingsteken waarmee de andere array is gevuld.
Daarbij lees je dan eerst de array uit die met Split op "," gevuld is een daarna de andere.

Zo draai je wel alles om en heb je niet de scheidingstekens ">" en "," in de cellen staan.
Op dit moment heb ik helaas geen tijd om hem voor je te maken maar als je wilt kan ik dat later dit weekend wel doen.
 
Laatst bewerkt:
Als "€*280,00" (tekst tussen dubbele quotes) altijd achteraan staat, en scheidingteken "," daarvoor, met scheidingtken ">" daar weer voor, zou het zo kunnen.

Code:
Sub HSV()
Dim sq As Variant, i As Long, kol As Long, sq1 As Variant, sq2 As Variant

 sq = Split(Range("A1"), """")
  For i = 1 To UBound(sq)
   kol = Columns(50).End(xlToLeft).Column
    Cells(1, kol + 1) = sq(i)
   Next

 sq1 = Split(sq(0), ",")
  For i = LBound(sq1) To UBound(sq1) - 1
   kol = Columns(50).End(xlToLeft).Column
    Cells(1, kol + 1) = sq1(UBound(sq1) - i)
   Next

 sq2 = Split(sq1(0), ">")
  For i = LBound(sq2) To UBound(sq2)
   kol = Columns(50).End(xlToLeft).Column
    Cells(1, kol + 1) = sq2(UBound(sq2) - i)
   Next

Columns.AutoFit

End Sub
 

Bijlagen

Harry

Bedankt, het werk!

Ik heb in de bijlage een voorbeeld excel gedaan waarmee ik werk. Ik kan redelijk excel alleen met macro's nooit echt gewerkt.

Ik weet dat ik straks een "Do While" en een "loop" dien te gebruiken om alle regels straks in een keer te doen. Klopt dit?

Tevens als ik deze data straks wil gebruiken in een andere worksheet is dit mogelijk om binnen de macro te doen of dient dit met een andere macro te gebeuren?

Want binnen de excel heb ik 2 werkbladen.

"ruwe data"
hier dient de data in gekopieerd te worden.

"data"
Hier dient de juiste volgorde in te komen. Ze zult hier ook "aantal keer waarde" zien. Straks dien ik te tellen hoe vaak een waarde voorkomt als eerste en als 2 t/m 10.

Alvast bedankt!


p.s. mag bijlage niet uploaden (werk op een mac, ligt dit hieraan?)

Bestand staat hier:

http://www.clearcommunications.nl/tekst omdraaien.xlsm
 
petermb schreef:
"Ik weet dat ik straks een "Do While" en een "loop" dien te gebruiken om alle regels straks in een keer te doen. Klopt dit?"
Antwoord:
Do While is 1 van de mogelijkheden om een aantal cellen te doorlopen, maar er zijn andere. Ze staan vermeld in de helpfile van Excel (For...next, Do Until.., Do...Loop Until, ...).
 
Hallo,

Je hebt me super geholpen met het omdraaien van bepaalde waarden in excel.

Maar is er een mogelijkheid da tje me kunt helpen om het gehele excel systeem draaiend te krijgen? Natuurlijk tegen vergoeding als dit wenselijk is.

Hoor graag van je.

Groet,

Peter

Sorry Peter,

Ik dacht dat je zelf aan het zoeken was.

Probeer onderstaande code eens zonder enige vergoeding natuurlijk.

Code:
Sub HSV()
Dim sq As Variant, i As Long, kol As Long, sq1 As Variant, sq2 As Variant, cl As Range
With Sheets("Ruwe data")
For Each cl In .Range("A7").CurrentRegion
 sq = Split(cl, """")
  For i = 1 To UBound(sq)
   kol = cl.Columns(50).End(xlToLeft).Column
    .Cells(cl.Row, kol + 1) = sq(i)
   Next

 sq1 = Split(sq(0), ",")
  For i = LBound(sq1) To UBound(sq1) - 1
   kol = cl.Columns(50).End(xlToLeft).Column
    .Cells(cl.Row, kol + 1) = sq1(UBound(sq1) - i)
   Next

 sq2 = Split(sq1(0), ">")
  For i = LBound(sq2) To UBound(sq2)
   kol = cl.Columns(50).End(xlToLeft).Column
    .Cells(cl.Row, kol + 1) = sq2(UBound(sq2) - i)
   Next
Next cl
End With
Columns.AutoFit

End Sub
 
Uiteraard Martin, :)

Ik dacht dat het persoonlijk was bedoeld. :o

Oplettend van je.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan