Uneori, poate doriți să adăugați un element surpriză prezentării dvs. PowerPoint prin amestecarea aleatorie a diapozitivelor. De exemplu, poate creați o prezentare pentru studenții dvs. și doriți să amestecați unele sau toate cardurile.
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-1-compressed.jpg)
În mod implicit, PowerPoint nu are o funcție încorporată pentru aceasta, dar o puteți realiza folosind o macrocomandă. În acest ghid pas cu pas, vă vom arăta cum să amestecați diapozitivele manual și cum să utilizați un cod VBA pentru a automatiza procesul de amestecare aleatorie.
Cum să amestecați manual diapozitivele în PowerPoint
În Microsoft PowerPoint, puteți amesteca manual diapozitivele din prezentare pentru a le afișa în ordine aleatorie folosind vizualizarea „Slide Sorter”. Deși această metodă poate să nu fie la fel de aleatorie ca utilizarea macrocomenzilor, vă permite totuși să rearanjați diapozitivele într-o ordine diferită.
Pentru a amesteca și randomiza manual diapozitivele dintr-o prezentare PowerPoint, urmați pașii de mai jos.
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-2-compressed.png)
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-3-compressed.jpg)
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-4-compressed.jpg)
Rețineți că această metodă nu garantează o comandă complet aleatorie, deoarece depinde de aranjamentul manual. Dacă doriți să vedeți un diapozitiv complet aleatoriu să apară după ce apăsați butonul pentru a afișa următorul diapozitiv, puteți utiliza metoda macrocomenzi VBA pentru o amestecare aleatorie mai precisă și automată..
Cum să randomizezi diapozitive PowerPoint utilizând un cod VBA
Pentru a vă asigura că diapozitivele dvs. PowerPoint sunt redate în ordine complet aleatorie, va trebui să utilizați puțin codare. Opțiunea Macro-uri din Microsoft Office PowerPoint vă permite să rulați coduri VBA pentru a amesteca automat diapozitivele din prezentarea dvs.
În acest tutorial, vă vom arăta cum să vă amestecați diapozitivele fără duplicate. Pentru a randomiza diapozitivele în PowerPoint, astfel încât același diapozitiv să nu se repete, urmați pașii de mai jos.
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-5-compressed.jpg)
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-6-compressed.jpg)
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-7-compressed.png)
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-8-compressed.jpg)
Sub Shuffleslides()
FirstSlide = 2
LastSlide = 5
Alatorizare
„generați un nu aleatoriu între primul diapozitiv și ultimul diapozitiv”
GRN:
RSN = Int((LastSlide – FirstSlide + 1) * Rnd + FirstSlide)
Dacă RSN = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex, atunci mergeți la GRN
ActivePresentation.SlideShowWindow.View.GotoSlide (RSN)
End Sub
În Editorul VBA, ajustați numerele de diapozitive după „FirstSlide” și „LastSlide” pentru a specifica gama de diapozitive pe care doriți să le includeți în amestecare. În mod implicit, amestecarea începe de la diapozitivul 2 pentru a evita includerea diapozitivului de titlu. Dacă doriți să excludeți diapozitivele de titlu de la amestecare, păstrați „FirstSlide = 2” așa cum este..
De exemplu, să presupunem că aveți o prezentare cu zece diapozitive și doriți să omiteți amestecarea diapozitivului de titlu. În acest caz, setați „FirstSlide = 2” și „LastSlide = 10”. În acest fel, numai diapozitivele de la 2 la 10 vor fi incluse în procesul de amestecare, iar diapozitivul de titlu va rămâne neafectat.
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-9-compressed.png)
![](/images/6588/how-to-randomize-slides-in-powerpoint-presentation-10-compressed.png)
Acum intrați în Modul Prezentare și faceți clic pe butonul de pe primul diapozitiv pentru a vă amesteca diapozitivele în mod aleatoriu. Bucurați-vă de prezentarea dvs. dinamică și care nu se repetă.
Cum să amestecați numai diapozitive pare sau impare
În cazul în care doriți să amestecați numai anumite diapozitive din prezentarea dvs., cum ar fi diapozitivele pare sau impare, puteți utiliza următorul cod VBA pentru a distribui aleatoriu doar diapozitivele cu numere pare sau impare, fără a deranja restul.
Pentru a face asta, urmați pașii de mai sus până ajungeți la fereastra Editor Visual Basic și introduceți următorul cod.
Sub Shuffleslides()
EvenShuffle = True (înlocuiți cu false dacă sunt amestecate numai diapozitivele cu numere impare)
FirstSlide = 2 (ar trebui să fie un număr par/impar în funcție de nevoi)
LastSlide = 8
Alatorizare
Pentru i = FirstSlide To LastSlide Pasul 2
Generează: „generează un nu aleator între primul diapozitiv și ultimul diapozitiv”
RSN = Int((LastSlide – FirstSlide + 1) * Rnd) + FirstSlide
Dacă EvenShuffle = Adevărat, atunci
Dacă RSN Mod 2 = 1, GoTo genera
Altfel
Dacă RSN Mod 2 = 0, GoTo genera
Încheiați dacă
ActivePresentation.Slides(i).MoveTo (RSN)
Dacă i
Dacă i >RSN, atunci ActivePresentation.Slides(RSN + 1).MoveTo (i)
Următorul i
End Sub
Cum să amestecați diapozitivele într-o buclă fără sfârșit
Tutorialul de mai sus demonstrează cum să amestecați diapozitivele PowerPoint și să le redați într-o ordine aleatorie fără repetare. Cu toate acestea, după o buclă, aceeași ordine de amestecare este menținută, cu excepția cazului în care amestecați din nou diapozitivele.
Pentru a parcurge automat toate diapozitivele într-o buclă nesfârșită în timpul modului de prezentare cu o nouă ordine aleatorie pentru fiecare buclă, puteți folosi următorul cod. Asigurați-vă că schimbați numerele după FirstSlide = și LastSlide = pentru a se potrivi cu numărul de diapozitive din prezentarea dvs.
Poziție publică, interval, AllSlides() ca număr întreg
Sub ShuffleAndBegin()
FirstSlide = 2
LastSlide = 6
Range = (LastSlide – FirstSlide)
ReDim AllSlides(0 To Range)
Pentru i = 0 To Range
AllSlides(i) = FirstSlide + i
Următorul i
Alatorizare
Pentru N = 0 To Range
J = Int((Interval + 1) * Rnd)
temp = AllSlides(N)
AllSlides(N) = AllSlides(J)
AllSlides(J) = temp
Următorul N
Poziție = 0
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Poziție)
End Sub
Sub Advance()
Poziție = Poziție + 1
Dacă Poziție >Interval Atunci
ShuffleAndBegin
Altele
ActivePresentation.SlideShowWindow.View.GotoSlide AllSlides(Poziție)
Încheie dacă
End Sub