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

Sorteren van informatie

Status
Niet open voor verdere reacties.

leeuwtje10

Nieuwe gebruiker
Lid geworden
3 mrt 2009
Berichten
2
Een lastig vraagstuk

Vanuit de bedrijfssoftware is een overzicht uit te draaien met een overzicht van gegevens per debiteur.

Nu word dit geexporteerd naar excel, waar in kolom 1 de onderwerpen staan, en in kolom 2 de bijbehorende gegevens, op de volgende manier:
-debiteur Hans
-adres Groningen
-.... ......
-debiteur Piet
-adres Leeuwarden
-.... ..........

Hoe kan ik dit rangschikken zodat ik kolommen krijg op de volgende manier:

Debiteur Adres ..........
Hans Groningen .........
Piet Leeuwarden ..........


Mijn vriendelijke dank alvast
 
wat voor soort file is het? (cvs, text tab delimited)?
zitten er lege rijen tussen?
 
Ik denk dat er twee mogelijke oplossingen zijn. Er van uit gaande dat het aantal regels per debiteur iedere keer exact gelijk is?

Oplossing 1:
Ik heb het sterke vermoeden dat je geen .xls (excel) bestand krijgt maar een .csv bestand. Deze worden standaard wel met Excel geopend. Als dit zo is kun je met de rechtermuisknop op het bestand klikken en het dan openen met een programma als Notepad++ of UltraEdit. Binnen deze progamma's kun je een macro opnemen die elke debiteur met zijn gegevens netjes op 1 rij zet.
Hierna kun je de gegevens netjes in excel inlezen. Doe dit dan wel door eerst excel te starten en daarna te kiezen voor Data->Externe gegevens importeren. Dan start hij een wizard die de gegevens netjes importeert

Oplossing 2:
Binnen excell een macro maken die de gegevens steeds kopieert naar een nieuw werkblad in de juiste volgorde. Deze macro kun je bewaren voor de volgende keer.

Misschien handig als je een voorbeeld meestuurt. Verander wel even de echte debiteurgegevens in iets anders.
 
Het was een .txt bestand geconverteerd naar .xls.

Heb een vb bestandje bijgevoegd.
Heb een heel klein gedeelte gekopieerd en aangepast met nutteloze informatie. Het bestandje in het echt loopt dus nog gewoon veel verder door.
 

Bijlagen

  • vb.xls
    vb.xls
    15,5 KB · Weergaven: 48
Lastiger dan ik dacht.

Voeg ook eens het verkorte text bestandje toe. De resultaten die ik nu zie zijn niet altijd even lang (adres gegevens hebben meer of minder regels). Vanuit het text bestand kunnen we waarschijnlijk meer.
 
Code:
Sub tst()
  Range("E1:AD1") = WorksheetFunction.Transpose(Range("A2:A26"))
    sq = Split(Replace(Join(WorksheetFunction.Transpose(Cells(2, 2).Resize(Cells(Rows.Count, 2).End(xlUp).Row)), "|"), String(51, "-") & "|" & String(51, "-") & "|", vbCr), vbCr)
  For j = 0 To UBound(sq)
    st = Split(sq(j), "|")
    Cells(2 + j, 5).Resize(, UBound(st) + 1) = st
  Next
End Sub
 
Code is bijna goed, maar zoals ik al aangaf bevat de output in de text file niet altijd exact even veel regels per record. Hierdoor verschuiven de velden. Run je code maar eens en kijk dan in de kolom "telefoon". Dat is de echte uitdaging van deze vraag.
 
Er mag voor jou ook nog wel wat eer te behalen overblijven.
Ik ben benieuwd naar jouw oplossing.
 
Laatst bewerkt:
Mijn oplossing zou zijn om het bestand voor te bewerken met UltraEdit/Notepad++ en daarna verder in Excel. Maar in dit geval probeer ik andere mensen te helpen, gebruik makend van de middelen die zij tot hun beschikking hebben.

Mijn opmerking was trouwens niet kwaad bedoeld naar jouw toe.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan