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

Weergave

Status
Niet open voor verdere reacties.

rolf1980

Gebruiker
Lid geworden
20 jan 2017
Berichten
57
Misschien denk ik er wel te moeilijk over. Ik wil een bestaand dataset snipperuren (tabblad bron) in een overzichtelijke tabel hebben (gewenste weergave). Ik heb het met een draaitabel geprobeerd maar het lukt me niet. In de gewenste weergave wil ik alleen de regels waar getallen ingevuld zijn, dus niet de lege cellen.
 

Bijlagen

  • Weergave.xlsx
    107,5 KB · Weergaven: 22
Laatst bewerkt door een moderator:
Hoe geraak je aan die-2 uur op 1/1/18 in uw samenvatting?
 
Je tabelopzet verdient niet de schoonheidsprijs.... Sowieso heb je een behoorlijk probleem om e.e.a. goed te onderhouden door de jaren heen, daarnaast is het onmogelijk om er een correcte draaitabel van te maken omdat je geen tabel gebruikt. En het invoeren is op deze manier natuurlijk idioot ingewikkeld. Als je nagaat dat je voor ongeveer 11 in te vullen waarden 365 kolommen door moet scrollen....

Een normale tabel had de velden PNR, TL, WN, Datum en Waarde gehad. (Geb. Datum is een gegeven van PNR vermoed ik en dat haal je uit een andere tabel). Dan maak je dus voor iemand die 11 registraties heeft 11 records (rijen) aan, en vul je 11 keer de gewenste gegevens in. Dat is wellicht iets meer werk (als TL en WN óók afhankelijk zijn van PNR (en eigenlijk is dat in jouw systeem zo) dan is het nog minder natuurlijk, want dan vul je alleen dit in: PNR, Datum en Waarde. De rest haal je uit de tabel PersGegevens op.

Heb je het zo opgezet, dan is het invoeren dus alleen op basis van daadwerkelijk in te vullen gegevens. En dan maak je via de draaitabel de totalen zichtbaar.
 
Even een macro gebruiken die de handel transponeert.

Code:
Sub VenA()
  ar = Sheet1.Cells(1).CurrentRegion
  ReDim ar1(UBound(ar) * UBound(ar, 2), 3)
  For j = 2 To UBound(ar)
    For jj = 5 To UBound(ar, 2) - 1
      If ar(j, jj) <> "" Then
      ar1(t, 0) = ar(1, jj)
      ar1(t, 1) = ar(j, 1)
      ar1(t, 2) = ar(j, 3)
      ar1(t, 3) = ar(j, jj)
      t = t + 1
    End If
    Next jj
  Next j
  Sheet3.Cells(1).Resize(t, 4) = ar1
End Sub

Deze gaat wat 'lomp' om met de grootte van ar1 maar is over het algemeen geen probleem.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan