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

Automatisch rijen invoegen bij getallen die meerdere keren voorkomen

Status
Niet open voor verdere reacties.

Adriaanse

Gebruiker
Lid geworden
28 apr 2005
Berichten
29
Ik heb een lijst met postcodes (zie bijlage), waarbij ik elke postcode meerdere keren wil tonen.
Zie hieronder het voorbeeld:
Aantal Postcode
10 1005
7 3447
4 3770
4 3771
1 3772
8 3778
3 3779
1 6711
3 6713




Wens
1005
1005
1005
1005
1005
1005
1005
1005
1005
1005
6713
6713
6713
3772

Kan iemand mij helpen?Bekijk bijlage Excel - aantal omzetten in rijen.xlsx
 
Probeer het eens met deze

Code:
Sub VenA()
With Sheets(1)
    ar = .Cells(1).CurrentRegion
    For j = 2 To UBound(ar)
        For jj = 1 To ar(j, 1)
            c00 = c00 & "|" & ar(j, 2)
        Next jj
    Next j
    .[d1].Resize(UBound(Split(Mid(c00, 2), "|"))) = Application.Transpose(Split(Mid(c00, 2), "|"))
End With
End Sub
 

Bijlagen

Er zit wel een klein foutje in.
Code:
.[d1].Resize(UBound(Split(Mid(c00, 2), "|")))

moet zijn
Code:
.[d1].Resize(UBound(Split(Mid(c00, 2), "|"))[COLOR="#FF0000"]+1[/COLOR])
 
Iets anders geschreven.
Code:
Sub hsv()
With Sheets(1)
    sn = .Cells(1).CurrentRegion
    ReDim arr(UBound(sn) * Application.Max(.columns(1)), 0)
    For j = 2 To UBound(sn)
        For jj = 1 To sn(j, 1)
            arr(n, 0) = sn(j, 2)
            n = n + 1
        Next jj
    Next j
    .[d1].Resize(n) = arr
End With
End Sub
 
Laatst bewerkt:
Goedenavond,

Heb veel belangstelling voor arrays. De array van VenA heb ik omgewerkt, zodat ik data uit verschillende tabbladen kan omwerken naar één array:

Code:
Sub VenAExcelbat()
'Hoeveel tabbladen hebben wij
For i = 1 To 3
'Eerste sheet:
With Sheets(i)
'Range van eerste sheet: A1:B5 (Sheets(1).Cells(1).CurrentRegion.Select)
    ar = .Cells(1).CurrentRegion
'We beginnen op rij 2, en gaan door tot en met rij 5
    For j = 2 To UBound(ar)
'We kijken naar de waarde in kolom A, bij rij j
        For jj = 1 To ar(j, 1)
'We kopiëren de waarde van Kolom B een aantal keren, nl.: jj
            c00 = c00 & "|" & ar(j, 2)
        Next jj
    Next j
End With
Next i
    Sheets(1).[d1].Resize(UBound(Split(Mid(c00, 2), "|")) + 1) = Application.Transpose(Split(Mid(c00, 2), "|"))
End Sub

De code van HSV krijg ik niet omgewerkt naar verschillende tabbladen. Ik vermoed dat het hier mee te maken heeft. Wie kan mij helpen?

Code:
ReDim arr(UBound(sn) * Application.Max(.columns(1)), 0)

Greetz/Excelbat
 
Laatst bewerkt:
Maak er even een eigen vraag van in een nieuw draadje. En doe er maar gelijk een voorbeeldje bij.

Zijn de forumregels geen onwil.:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan