Hoe maak je een lijst van unieke waarden over meerdere werkbladen in Excel?
Wanneer je werkt met gegevens die verspreid zijn over meerdere werkbladen in Excel, moet je mogelijk de informatie samenvoegen en een lijst van unieke waarden genereren. Hoewel Excel geen directe ingebouwde functie biedt voor deze taak, zijn er verschillende methoden om dit te bereiken. Dit artikel leidt je door drie praktische benaderingen om een lijst van unieke waarden uit meerdere werkbladen te maken.
Maak een lijst van unieke waarden uit meerdere werkbladen
Maak een lijst van unieke waarden uit meerdere werkbladen met VBA-code
Om alle unieke waarden uit alle werkbladen te lijsten, kan de volgende VBA-code je helpen, doe het als volgt:
1. Houd de toetsen "ALT + F11" ingedrukt om het venster "Microsoft Visual Basic for Applications" te openen.
2. Klik op "Invoegen" > "Module", en plak de volgende macro in het Modulevenster.
VBA-code: Maak een lijst van unieke waarden uit meerdere werkbladen:
Sub SheelsUniqueValues()
Dim xObjNewWS As Worksheet
Dim xObjWS As Worksheet
Dim xStrAddress As String
Dim xIntRox As Long
Dim xIntN As Long
Dim xFNum As Integer
Dim xMaxC, xColumn As Integer
Dim xR As Range
xStrName = "Unique value"
Application.ScreenUpdating = False
xMaxC = 0
Application.DisplayAlerts = False
For Each xObjWS In Sheets
If xObjWS.Name = xStrName Then
xObjWS.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
For xFNum = 1 To Sheets.Count
xColumn = Sheets(xFNum).Cells.Find(What:="*", after:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
If xMaxC < xColumn Then
xMaxC = xColumn
End If
Next xFNum
Application.DisplayAlerts = True
Set xObjNewWS = Sheets.Add(after:=Sheets(Sheets.Count))
xObjNewWS.Name = xStrName
For xColumn = 1 To xMaxC
xIntN = 1
For xFNum = 1 To Sheets.Count - 1
Set xR = Sheets(xFNum).Columns(xColumn)
If TypeName(Sheets(xFNum).Columns(xColumn).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)) <> "Nothing" Then
xIntRox = xR.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets(xFNum).Range(Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address).Copy
Cells(xIntN, xColumn).PasteSpecial xlValues
xIntN = xIntRox + xIntN + 1
End If
Next xFNum
If xIntRox - 1 > 0 Then
xIntRox = xIntN - 1
xStrAddress = Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Range(xStrAddress).Copy
Cells(1, xColumn + 1).PasteSpecial xlValues
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
Columns(xColumn).Delete
Range(xStrAddress).Sort key1:=Cells(1, xColumn), Header:=xlNo
End If
Next xColumn
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Nadat je bovenstaande code hebt geplakt, druk dan op F5 om deze code uit te voeren, en er wordt een nieuw werkblad genaamd Unieke waarde aangemaakt en de unieke namen in kolom A van alle bladen worden weergegeven zoals in de volgende schermafbeelding te zien is:
Maak een lijst van unieke waarden uit meerdere werkbladen met Kutools AI Assistent
In deze sectie laten we je zien hoe je eenvoudig een lijst van unieke waarden uit meerdere werkbladen kunt maken met behulp van Kutools AI Assistent.
Klik op "Kutools" > "AI Assistent" om het "Kutools AI Assistent"-paneel te openen, in het paneel voer je de volgende handelingen uit:
- Typ de vereiste in het chatvenster: bijvoorbeeld:
Haal alle unieke waarden in Kolom A uit alle werkbladen van dit werkboek en plaats de unieke waarden in een nieuw werkblad - Druk vervolgens op de Enter-toets of klik op de knop "Verzenden". Kutools AI zal de vraag analyseren, na voltooiing klikt u op de knop "Uitvoeren", alle unieke waarden uit meerdere bladen worden weergegeven in een nieuw werkblad, zie de demo:
Maak een lijst van unieke waarden uit meerdere werkbladen met formule (Excel 365)
Als je een lijst van unieke waarden wilt maken uit meerdere werkbladen in Excel met behulp van een formule, kun je dit bereiken door dynamische arrayfuncties zoals UNIEK en VSTACK in Excel 365 te combineren.
Voer de volgende formule in een lege cel in, en druk vervolgens op de Enter-toets om unieke waarden in één kolom uit meerdere bladen te extraheren. Zie screenshot:
=UNIQUE(VSTACK(Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet4!A1:A11))
- VSTACK: Combineert meerdere bereiken (bijv., Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet3!A1:A11) in een enkele verticale array.
- UNIEK: Filtert duplicaten uit en retourneert alleen unieke waarden uit de gecombineerde lijst.
- A1:A11: Pas het bereik aan om je daadwerkelijke gegevensbereik te omvatten.
In dit artikel hebben we drie effectieve methoden onderzocht om een lijst van unieke waarden uit meerdere werkbladen in Excel te maken. Elke methode heeft zijn voordelen, zodat je degene kunt kiezen die het beste past bij je Excel-versie, vaardigheidsniveau en specifieke behoeften. Als je geïnteresseerd bent in het verkennen van meer Excel-tips en -trucs, onze website biedt duizenden tutorials.
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!