Hoe genereert of vermeldt u alle mogelijke permutaties in Excel?
Bijvoorbeeld: ik heb drie tekens — XYZ — en wil graag alle mogelijke permutaties ervan weergeven, zodat ik de zes unieke combinaties krijg: XYZ, XZY, YXZ, YZX, ZXY en ZYX. Hoe genereert of toont u in Excel snel alle permutaties op basis van een willekeurig aantal tekens?
Genereer of vermeld alle mogelijke permutaties op basis van tekens met VBA-code
Genereer of vermeld alle mogelijke permutaties op basis van tekens met VBA-code
De volgende VBA-code helpt u om alle permutaties te genereren op basis van het door u opgegeven aantal letters. Volg hiervoor de onderstaande stappen:
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 code in het Module-venster.
VBA-code: Geef alle mogelijke permutaties weer in Excel
Sub GetString()
'Updateby Extendoffice
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
If Len(xStr) < 2 Then Exit Sub
If Len(xStr) >= 8 Then
MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call GetPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen < 2 Then
Range("A" & xRow) = Str1 & Str2
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub
3. Druk vervolgens op de toets F5 om deze code uit te voeren. Er verschijnt een dialoogvenster waarin u wordt gevraagd de tekens in te voeren waarvan u alle permutaties wilt weergeven. Zie onderstaande afbeelding:

4. Nadat u de tekens hebt ingevoerd, klikt u op de knop OK. Alle mogelijke permutaties verschijnen in kolom A van het actieve werkblad. Zie de afbeelding hieronder:

Opmerking: Als de ingevoerde tekst 8 tekens of langer is, werkt deze code niet vanwege het te grote aantal permutaties.

Lijst of genereer alle mogelijke combinaties uit meerdere kolommen
Als u alle mogelijke combinaties moet genereren op basis van gegevens uit meerdere kolommen, lijkt die taak misschien onoverkomelijk. Maar met het Kutools voor Excel-hulpprogramma Lijst alle combinaties op kunt u in een handomdraai en moeiteloos alle mogelijke combinaties genereren.Klik hier om Kutools voor Excel te downloaden!

Kutools voor Excel: met meer dan 300 handige Excel-add-ins, gratis te proberen zonder beperkingen gedurende 30 dagen.Download nu en probeer gratis!
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins