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

aantallen waarden omzetten naar meerdere rijen

Status
Niet open voor verdere reacties.

cint1234

Nieuwe gebruiker
Lid geworden
11 jun 2018
Berichten
1
goedendag,
ik loop vast met excell en hoop dat iemand hier DE tip heeft.
ik heb een database gemaakt met daarin op iedere rij een naam en in de kolommen daarbij behorende eigenschappen. een van die eigenschappen is het aantal keer waargenomen (een telling dus). ik had dit eigenlijk anders aan moeten pakken en ipv:
plaats naam aantal waarnemingen
xxx yyy 3

moet er dus komen te staan

plaats naam
xxx yyy
xxx yyy
xxx yyy

het aantal waarnemingen verschilt van soms 1 of 2 naar soms boven de 800 dus dit allemaal een voor een invoegen gaat erg tijdrovend zijn. hopelijk heeft iemand hier een suggestie hoe dit kan?
alvast bedankt!
 
Allereerst welkom op het forum.

Plaats eens een bestandje met een voorbeeld van hoe je het nu hebt staan en hoe je het hebben wilt!


Ik heb zelf even iets gemaakt. Hoop dat je daar wat mee kan.

Code:
Sub SjonR()
arr = Cells(1).CurrentRegion
X = -1
som = Application.Sum(Columns(3))
ReDim arr2(som, 3) As String
    For i = 2 To UBound(arr)
        X = X + arr(i, 3)
        For j = N To X
            arr2(j, 0) = arr(i, 1)
            arr2(j, 1) = arr(i, 2)
        Next
        N = N + arr(i, 3)
    Next
Cells(2, 1).Resize(som, 3) = arr2
End Sub
 

Bijlagen

  • WaarnemingenUitsmeren.xlsm
    17,3 KB · Weergaven: 29
Laatst bewerkt:
In het bestand van @SjonR.
Code:
Sub hsv()
Dim sv, hs, i As Long, c00 As String
 sv = Cells(1).CurrentRegion
        For i = 2 To UBound(sv)
         c00 = c00 & Replace(String(sv(i, 3), " "), " ", " " & i)
        Next
     hs = Application.Transpose(Split(Trim(c00)))
   Cells(2, 1).Resize(UBound(hs), 2) = Application.Index(sv, hs, Array(1, 2))
End Sub

Of:
Code:
Sub hsv()
 Cells(1).CurrentRegion.Offset(1).Columns(1).Name = "bereik"
 Cells(2, 1).Resize([sum(offset(bereik,,2))]) = Application.Transpose(Split(Join([transpose(rept(bereik&"|",offset(bereik,,2)))]), "|"))
 Cells(2, 2).Resize([sum(offset(bereik,,2))]) = Application.Transpose(Split(Join([transpose(rept(offset(bereik,,1)&"|",offset(bereik,,2)))]), "|"))
 Application.Names("bereik").Delete
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan