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

30 kolommen naar 1 kolom onder elkaar

Status
Niet open voor verdere reacties.

corel

Gebruiker
Lid geworden
15 okt 2008
Berichten
10
Hallo,

Ik heb een enorm bestand met 30 kolommen en 1000 rijen onder elkaar. Wil dit graag op een volgend werkblad in 1 kolom onder elkaar. Er zitten lege cellen tussen en heel veel dubbele.
Ben al met =VERSCHUIVING bezig geweest maar krijg het niet voor elkaar. Nadeel is ook dat het bewerken door alle dubbele erg lastig gaat, loopt weleens vast.

Het bestand is toegevoegd, ik hoop op een formule zoiets als VERSCHUIVING


Bekijk bijlage Voorbeeld.xlsx

Bij voorbaat dank voor het meedenken.
 
Wat zijn dubbele?, wat wil je met die dubbele?, mag die waarde maar 1 keer voorkomen? wil je unieke waarde?

graag wat meer info aub
 
Zoiets?
Eerst een stukje code op losgelaten en dan de twee ingebouwde functies (dubbele waarden verwijderen & sorteren van laag naar hoog)
 

Bijlagen

  • naar één kolom.xlsb
    56 KB · Weergaven: 35
In geval eenmalige actie:
1. op tabblad hulp heb ik in kolom A alle gegevens onder elkaar gezet middels formule (wat hierboven dus met stukje code plaats vindt)
2. deze kolom heb ik als waarden geplakt in kolom C
3. in kolom C duplicaten verwijderd en gesorteerd op oplopende grote.
4. Volgens mij heb je dan de gevraagde lijst.

In geval van terugkerende actie zal dit proces geautomatiseerd kunnen worden middels VBA.
 

Bijlagen

  • Voorbeeld (AC).xlsx
    376,7 KB · Weergaven: 33
Laatst bewerkt:
Wauw, alvast bedankt weer voor de snelle reacties. Ik ga er even mee aan de slag.

Om alvast een antwoord te geven; het is inderdaad een terugkerend iets.
 
"In geval eenmalige actie:
1. op tabblad hulp heb ik in kolom A alle gegevens onder elkaar gezet middels formule"

Dit ziet er goed uit! Ik plak dit op het nieuwe werkblad in cel A1 en dan trek ik de formule naar beneden

Op zich ga ik het hier mee redden, ik bewaar gewoon het bestand.
 
Laatst bewerkt:
Met een macro die alle handelingen in 1 keer doet.
Code:
Sub VenA()
  ar = Sheets(1).Cells(1).CurrentRegion
  Set d = CreateObject("scripting.Dictionary")
    For j = 1 To UBound(ar)
      For jj = 2 To UBound(ar, 2)
        If ar(j, jj) <> "" Then d.Item(ar(j, jj)) = ""
      Next jj
    Next j
    With Sheets(2).Cells(1).CurrentRegion
      .ClearContents
      .Resize(d.Count, 1) = Application.Transpose(d.keys)
      .Resize(d.Count, 1).Sort .Cells(1)
    End With
End Sub
 

Bijlagen

  • Voorbeeld.xlsb
    37,6 KB · Weergaven: 30
Kleine correctie:

Code:
For jj = [COLOR="#FF0000"]1[/COLOR] To UBound(ar, 2)

Of vergis ik me?

Greetz/Excelbat
 
#8 Vraagje aan VenA:

Code:
If ar(j, jj) <> "" Then d.Item(ar(j, jj)) = ""

Dit begrijp ik niet helemaal: als ar(j, jj) NIET leeg is, dan moet d.item WEL leeg blijven ???
Ik heb de code als volgt gewijzigd, en het gekke is dat dat exact hetzelfde resultaat geeft:

Code:
If ar(j, jj) <> "" Then d.Item(ar(j, jj)) = ar(j, jj)

Wat zie ik niet goed?

Greetz/Excelbat
 
@Excelbat, Speur even het internet af;) Collections zijn lastig te begrijpen onderdelen van VBA zonder dat je er zelf wat mee speelt.
 
Ik ben er mee aan het spelen, vandaar dus de vraag....;)
Maar ik ga wel effe goochelen op internet.

Thanx/Excelbat
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan