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

Cellen met twee regels splitsen

Status
Niet open voor verdere reacties.

Peha5772

Gebruiker
Lid geworden
17 jun 2010
Berichten
29
Ik heb een exportbestand in Excel waarin een aantal gegevens niet goed staan. In een cel staan twee regels maar dat moet geplitst worden. In het bijgevoegde bestand zie in CEL 3A : 0042-02-004-5, B3 4575MT deze waarden moeten blijven staan. In C3 tm P3 staan waarden (tijden) verspreid over twee regels en deze zou ik graag willen splisten. Het bestaande ziet er zo uit : regel 3.PNG en het zou er zo uitmoeten gaan zien : regel3 NIEUW.PNG. Al sdat voor elkaar is zou ik met de tijden willen gaan rekenen waarbij ik uiteindelijk wil weten wat de totaal aan uren zijn per dag en per regel en het totaal. Hoe moet ik zoiets aanvliegen ?Als bijlage het bestand waar het om gaat.
 

Bijlagen

  • regel3 NIEUW.PNG
    regel3 NIEUW.PNG
    12,6 KB · Weergaven: 30
Laatst bewerkt:
Eerst van het rapport dmv een macro een tabel maken en vervolgens een draaitabel gebruiken?

Code:
Sub VenA()
  Dim j As Long, jj As Long, jjj As Long, d As Date, ar, ar1, t
  ar = Sheets("Report1").Cells(2, 1).CurrentRegion
  ReDim ar1(5, 0)
  d = CDate(Trim(Split(Split(ar(1, 1), ":")(1), " - ")(0)))
  For j = 3 To UBound(ar)
    c00 = IIf(ar(j, 1) = "", c00, ar(j, 1))
    c01 = IIf(ar(j, 2) = "", c01, ar(j, 2))
    For jj = 3 To UBound(ar, 2) - 1
      If ar(j, jj) <> "" Then
        t = Split(ar(j, jj), Chr(10))
        For jjj = 0 To UBound(t)
          ar1(0, UBound(ar1, 2)) = c00
          ar1(1, UBound(ar1, 2)) = c01
          ar1(2, UBound(ar1, 2)) = Format(d + jj - 3, "mm-dd-yyyy")
          ar1(3, UBound(ar1, 2)) = jjj + 1
          ar1(4, UBound(ar1, 2)) = Mid(Split(t(jjj), "-")(0), 1, 5)
          ar1(5, UBound(ar1, 2)) = Mid(Split(t(jjj), "-")(1), 1, 5)
          ReDim Preserve ar1(5, UBound(ar1, 2) + 1)
        Next jjj
      End If
    Next jj
  Next j
  With Sheets("Database").ListObjects(1)
    If .ListRows.Count Then .DataBodyRange.Delete
    .Range.Cells(2, 1).Resize(UBound(ar1, 2), 6) = Application.Transpose(ar1)
  End With
End Sub
 

Bijlagen

Dat is snel. Super, bedankt zover. Ik loop nog wel vast bij die draaitabellen. Hoe werkt dat precies ?
 
Wat krijg je niet voor elkaar dan? Bereik selecteren --> draaitabel invoegen --> de wizzard volgen en verder een beetje slepen en instellingen wijzigen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan