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

Overzicht van kolom maken

Status
Niet open voor verdere reacties.

Dafke123

Gebruiker
Lid geworden
29 dec 2007
Berichten
14
Hallo ik probeer een overzicht van een bepaalde kollom te krijgen, maar dit lukt me niet.

Even een voorbeeld van wat ik bedoel.

kollom a staat:
<NIETS>
a
<NIETS>
<NIETS>
b
<NIETS>
c
d

in kollom b zou ik dan graag
a
b
c
d

willen.

Ik heb al vanalles geprobeerd, met verschuivingen enz, maar krijg de lege cellen er niet tussen uit. Iemand een idee?
 
Dit kan met een macro
Code:
Sub ZonderLege()
  Dim sq() As Variant, i As Integer, c As Range
  i = -1
  With Sheets("Blad1")
    For Each c In .Columns("A").SpecialCells(xlConstants)  'alle niet-lege C-cellen in "Blad1"
        i = i + 1                                          'teller ophogen
        ReDim Preserve sq(i)                               'uitbreiden array met behoud van gegevens
        sq(i) = c.Value                                    'nieuw element toevoegen
    Next
    .[B1].Resize(UBound(sq) + 1) = WorksheetFunction.Transpose(sq) 'array wegschrijven naar nieuwe locatie
  End With
End Sub

of met een formule zoals in bijlage
 

Bijlagen

  • Lijst_zonder_leeg.xls
    18 KB · Weergaven: 47
Hey, Bedankt voor de VBA code en sorry voor de late reactie, maar het is de laatste erg druk geweest. Ik ben eigenlijk helemaal nieuw in VBA en probeer nu het volgende:

Onderstaande code zoekt in een range naar bepaalde datums en plaats deze achter elkaar op een ander blad. Nu hoort er bij iedere datum een naam. Die naam is te vinden in de zelfde rij, maar dan in Kollom A. Ik heb al vanalles geprobeerd om dit voor elkaar te krijgen, maar te vergeefs. Heeft iemand een idee, hoe ik dit zou kunnen aanpakken?

Alvast bedankt!

Code:
Sub Proeftijd()
  Dim sq() As Variant, i As Integer, c As Range
  Dim sq1() As Variant
  i = -1
  With Sheets("In dienst")

   For Each c In .Range("AQ3:AQ100").SpecialCells(xlConstants) 'tot de 100 C-cellen in "In Dienst"
        i = i + 1                                          'teller ophogen
        ReDim Preserve sq(i)                               'uitbreiden array met behoud van gegevens
        sq(i) = c.Value                                  'nieuw element toevoegen
        ReDim Preserve sq1(i)
        sq1(i) = c.Value
    Next
    With Sheets("Kengetallen P&O")
    .[B46].Resize(UBound(sq) + 1) = WorksheetFunction.Transpose(sq) 'array wegschrijven naar nieuwe locatie
  End With
  End With
End Sub
 
Ik heb even gekeken wat je code eigenlijk deed. dat kan veel simpeler.
(ervan uitgaande dat je de naam in "A" wilt en de datum in "B" )

Werkt dit naar behoren?

Code:
Sub Klabam()
    With Sheets("In dienst").Range("AQ3:AQ100").SpecialCells(xlConstants)
        .Copy Destination:=Sheets("Kengetallen P&O").Range("B46")
        .Offset(, -.Column + 1).Copy Destination:=Sheets("Kengetallen P&O").Range("A46")
    End With
End Sub
 
Laatst bewerkt:
Ik ben weer verder aan het gaan met deze macro en ze werken beide goed!

Nu heb ik alleen nog 1 probleempje.

Als ik dit namelijk in Workbook_Open() plaats, dan krijg ik bij het opnieuw opstarten van dit document de volgende melding: "Fout bij het laden van DLL". Terwijl als ik hierin "MsgBox "Hallo, jij daar!"" plaats, alles gewoon in orde is.

Weet iemand waar dit aan ligt?
 
Kijk eens in het VBA editor menu bij Extra > Verwijzingen.
of er een "ONTBREEKT" checkbox is aangevinkt, vink deze uit, en klik op OK.

waarschijnlijk is de foutmelding dan verholpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan