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

Op zoek naar VBA Code

Status
Niet open voor verdere reacties.

novec

Gebruiker
Lid geworden
6 jan 2009
Berichten
191
Hallo

Ik heb een sheet waarbij ik vanuit een externe applicatie data krijg aangeleverd als .csv

Ik sla die op in EXCEL als .xslx

Vervolgens wil ik de kolommen verplaatsen/kopieren en sorteren
In mijn voorbeeld is de bovenste dus gele lijst de output vanuit de externe applicatie en wil is de data verplaatsen naar de 4 onderstaande lijsten,

Ik heb dit met een macro opgenomen en dat werkt goed maar leverde een grote hoeveelheid code op en dat zou m.i. korter moeten kunnen.


Wie wil er even naar kijken svp.
Bekijk bijlage testvba.xlsx

Bedankt

Steven
 
Kan toch ook perfect via formules.
 

Bijlagen

  • testvba.xlsx
    12,8 KB · Weergaven: 24
Ja dat is bekend. Index Match.
Het kan ook via draaitabel. Maar ik zocht de VBA code.
Dank man.
 
Probeer het zo eens.

Code:
Sub VenA()
Dim j As Long, jj As Long, jjj As Long, ar, ar1
With Blad1
    ar = .Cells(2, 2).CurrentRegion
    For j = 2 To 5
        ReDim ar1(UBound(ar), 12)
            For jj = 1 To UBound(ar)
                ar1(jj - 1, 0) = ar(jj, 1)
                For jjj = j To UBound(ar, 2) Step 4
                    ar1(jj - 1, ((jjj - j) / 4) + 1) = ar(jj, jjj)
                Next jjj
            Next jj
        .Cells(12, 16).Offset((j - 2) * 10).Resize(UBound(ar1) + 1, 13) = ar1
    Next j
End With
End Sub
 
Is toch niet zo moeilijk ?

Code:
Sub M_snb()
  sn = Cells(3, 2).CurrentRegion
   
  For j = 2 To 5
    Cells(2, 2).Offset((j - 1) * (UBound(sn) + 2)).Resize(UBound(sn), 13) = Application.Index(sn, [row(1:8)], Split(1 & " " & Join(Evaluate("transpose(" & j & "+4*(row(1:12)-1))"))))
  Next
End Sub
 
Geweldig!

Ben er blij mee. 4 regels i.p.v. de lappen tekst code die ik met de opgenomen macro had.
Toch is het WEL moeilijk om alle zaken in dit stukje code goed te interpreteren, maar ik kom er uit.

Bedankt!!

Steven
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan