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

Unieke records in compleet bestand

Status
Niet open voor verdere reacties.

ohrid

Nieuwe gebruiker
Lid geworden
4 mei 2012
Berichten
3
Hallo allemaal,

Ik heb een Excelbestand met 17 tabbladen. Ieder tabblad staat voor een bepaalde groep in de organisatie. Sommige namen kunnen in meerdere groepen staan en het is eigenlijk de bedoeling dat ik op het eerste tabblad dan het aantal unieke records heb in een cel (dus als Jan in groep A, C en F zit wordt hij maar 1 keer geteld. Totaal aantal mensen kan dan 230 zijn in cel B2, maar unieke mensen in cel B3 is dan bijvoorbeeld 130).

Ik heb al een heel wat geprobeerd, maar tot nu toe met weinig succes.
Alvast bedankt.
 
Je moet ONS niet bedanken want je hebt zelf het werk gedaan, zeg je toch.
 
Wordt toch een macrootje schat ik.
Plaats graag een representatief voorbeeld-excelbestand (dus geen plaatje).
 
Bv

Code:
Sub VenA()
Dim j As Long, sh As Object, ar
  With CreateObject("scripting.Dictionary")
    For Each sh In Sheets
      If sh.Name <> "Blad1" Then
        ar = sh.Cells(1).CurrentRegion
        For j = 1 To UBound(ar)
          .Item(Trim(ar(j, 1))) = ""
        Next j
      End If
    Next sh
    Sheets("Blad1").Cells(6, 2) = .Count
  End With
End Sub
 
Heb de oplossing van VenA toegepast in uw bestandje.

Als toegiftje.
 

Bijlagen

  • Unieke waarden.xlsb
    20,5 KB · Weergaven: 33
Ik heb iets vergelijkbaars, maar dan met een function.
 

Bijlagen

  • Unieke waarden.xlsb
    18,6 KB · Weergaven: 45
@Timshel

Code:
Function F_Uniek(Rng As Variant) As Long
    With CreateObject("Scripting.Dictionary")
        For Each Sh In Rng
            For Each it In Sheets(Sh.Value).UsedRange.Columns(1).Cells
                x0 = .Item(Trim(it.Value))
            Next
        Next
        F_Uniek = .Count
    End With
End Function
 
@snb
Het lijkt inderdaad dat in een function geen currentregion gebruikt kan worden.
 
De eerste code werkte goed. Hartstikke bedankt. Was alleen een geklooi omdat ik geen gebruik mocht maken van macro's op mijn werk. :rolleyes:
 
@Timshel

Dat geldt voor specialcells ook.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan