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

Data verdelen over kolommen

  • Onderwerp starter Onderwerp starter wbt
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

wbt

Gebruiker
Lid geworden
9 mrt 2011
Berichten
28
Hoi allemaal,

ik heb een lijst met heel veel data, die gecombineerd onderelkaar staat en ik zou deze graag naast elkaar per regel willen hebben.

De data ziet er als volgt uit :
cdprodukt Fabr Type SYS-DATE cdkenmerk kenmerkgewicht
1052400000 ASAHI UCT210 12-2-2013 01BINN 50
1052400000 ASAHI UCT210 12-2-2013 02BUIT 117
1052400000 ASAHI UCT210 12-2-2013 03BREE 51,6
1052400000 ASAHI UCT210 12-2-2013 04KILO 2,525
1052400000 ASAHI UCT210 12-2-2013 06LENG 149
1052400002 ASAHI MUP005 12-2-2013 01BINN 25
1052400002 ASAHI MUP005 12-2-2013 02BUIT 32
1052400002 ASAHI MUP005 12-2-2013 03BREE 112
1052400002 ASAHI MUP005 12-2-2013 04KILO 0,294
1052400003 ASAHI MUP006 12-2-2013 01BINN 30
1052400003 ASAHI MUP006 12-2-2013 02BUIT 70
1052400003 ASAHI MUP006 12-2-2013 03BREE 132
1052400003 ASAHI MUP006 12-2-2013 04KILO 0,454
1052400004 ASAHI UCC308 12-2-2013 01BINN 40
1052400004 ASAHI UCC308 12-2-2013 02BUIT 120
1052400004 ASAHI UCC308 12-2-2013 03BREE 52
1052400004 ASAHI UCC308 12-2-2013 04KILO 2,100

Nu zou ik graag het volgende willen zien :

cdprodukt Fabr Type SYS-DATE 01binn 02buit 03bree 04kilo 05maxe 06lang 07hoog
1052400000 ASAHI UCT210 12-2-2013 50 117 51,6 2,525 149

Nu heb ik dus 1 produktregel met alle kenmerken bij elkaar.
Iemand enig idee hoe dit mogelijk is ?
Ik heb gedacht aan vert.zoeken, maar daar kom ik er niet mee uit.
Niet ieder artikel heeft alle kenmerken.

Oh het gaat om zo'n 87.000 artikelen, dus sommige opties zijn heeeel erg traag.

Mocht het niet duidelijk zijn, hoor ik het graag,

bij voorbaat dank,

Richard
WBT

Excuses voor het foute bericht !
 

Bijlagen

Laatst bewerkt:
Ik weet niet waar deze reactie vandaan komt, maar dit is zeker niet mijn bedoeling. Ik heb beide bekeken en beide zijn niet mijn oplossing.
Ik vraag eigenlijk gewoon of iemand anders nog een andere oplossing heeft. Ik ben heel erg blij met dit forum en de mensen die tijd en en energie in de problemen van andere steken, dus zo moet het zeker niet over komen.
Excuses als dat wel zo was.
 
Met toevoeging van een extra kolom in de tabel met daarin het cdproduktnummer en het kenmerk en vervolgens verticaal zoeken op die combinatie.
 
Ik heb een voorbeeldje gemaakt van hoe je dat kan aanpakken.
Met een hulpkolom A.
 

Bijlagen

Ik heb een voorbeeldje gemaakt van hoe je dat kan aanpakken.
Met een hulpkolom A.

Hartelijk dank, dit lijkt idd op het gene dat ik zoek, zelf niet op gekomen, ik ga kijken of dit ook vlot lukt met mijn database, want dat is 87.000 produkten maal max 7 kenmerken..

Als het lukt, gooi ik de vraag direct op slot.

thx
 
met een macrootje
Code:
Sub NieuweIndeling()
  Dim sn, dict As Object, Arr(), it, i As Long
  Set dict = CreateObject("scripting.dictionary")          'dictionary definieren
  sn = Sheets("blad1").Range("A1").CurrentRegion           'in te lezen gegevens
  With dict
    For i = 2 To UBound(sn)                                'rij per rij van je gegevens verwerken
      it = .Item(sn(i, 1))                                 'kijk wat er al in de dictionary staat over dat cdproduct
      Select Case VarType(it)
        Case vbEmpty                                       'er stond nog niets in
          ReDim Arr(1 To 1, 1 To 11)                       'array klaarmaken
          Arr(1, 1) = sn(i, 1): Arr(1, 2) = sn(i, 2): Arr(1, 3) = sn(i, 3): Arr(1, 4) = CLng(sn(i, 4)): Arr(1, 4 + Val(sn(i, 5))) = sn(i, 6)  '1e 4 gegevens zijn vast, 5e kan tss kolom 5 en 11 staan
          .Item(sn(i, 1)) = Arr                            'array naar dictionary schrijven
        Case Else                                          'cdproduct is al gekend
          it(1, 4 + Val(sn(i, 5))) = sn(i, 6)              '1 bepaald gegeven toevoegen aan de vroegere gegevens
          .Item(sn(i, 1)) = it                             'naar dictionary terugschrijven
      End Select
    Next
  End With

  With Sheets("blad1").Range("A30")                        'naar hier schrijven
    .Resize(1000, UBound(Arr, 2)).ClearContents            'vroegere gegevens verwijderen
    If dict.Count Then .Resize(dict.Count, UBound(Arr, 2)).Value = Application.Index(dict.items, 0, 0)  'als er is in je dictionary staat, dan schrijf je items naar daar
  End With
End Sub
 
Iedereen bedankt voor het meedenken, ik ben voor de oplossing van Cobbe gegaan ondanks dat deze vrij lang duurde. Een paar uur excel rekenen.
ik heb wat ik wilde,

Dank allemaal !
 
zou mijn macro dat niet in enkele seconden gedaan hebben ?
 

Bijlagen

Laatst bewerkt:
Hoe haal jij je data binnen?

In jouw voorbeeld tekst staat o.a.
1052400000 ASAHI UCT210 12-2-2013 03BREE 51,6
in jouw excelvoorbeeld staan alle getallen als tekst. En de waarde 51,6 is ineens 51.6 geworden:rolleyes:
Als je dit weet aan te passen is het prima met een draaitabel te doen.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan