Ein VBA-Programm in Excel
Ein VBA-Programm in Excel
Ein VBA-Programm in Excel
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.5.2 Die neuen Tabellenblätter<br />
Zu Beg<strong>in</strong>n des <strong>Programm</strong>s existiert lediglich das Tabellenblatt mit dem<br />
Namen Auslosung. Es besteht i.w. aus der Teilnehmerliste (s. Abbildung<br />
3) und dem Button Auslosung starten. Mit dem Klick auf diesen<br />
Button wird das <strong>Programm</strong> Sub Auslosung() ausgeführt. Es ist das<br />
Haupt-<strong>Programm</strong>. Es sorgt zunächst e<strong>in</strong>mal dafür, dass jeder Teilnehmer<br />
für jeden e<strong>in</strong>zelnen Durchgang e<strong>in</strong>en zufällig ausgewählten Tisch-<br />
Platz zugewiesen bekommt. Nachdem das erfolgt ist, können neue zusätzliche<br />
Tabellenblätter generiert werden, und zwar<br />
‣ e<strong>in</strong> Tabellenblatt Liste als Übersicht<br />
‣ je e<strong>in</strong> Tabellenblatt pro Durchgang zur <strong>E<strong>in</strong></strong>gabe der erreichten<br />
Punktzahl pro Spieler<br />
‣ e<strong>in</strong> Tabellenblatt Ergebnis, <strong>in</strong> dem die Punktzahlen e<strong>in</strong>es jeden<br />
Teilnehmers übersichtlich dargestellt werden<br />
<strong>E<strong>in</strong></strong> neues Tabellenblatt wird <strong>in</strong> <strong>VBA</strong> mit der Funktion Worksheets.Add<br />
erzeugt.<br />
2.5.2.1 Das Tabellenblatt "Liste"<br />
Dieses Tabellenblatt enthält e<strong>in</strong>e übersichtliche Liste aller Teilnehmer,<br />
aus der hervorgeht, welcher Spieler <strong>in</strong> welchem Durchgang an welchem<br />
Tisch mit welcher Tisch-Nr spielt.<br />
Mit der Anweisung Worksheets.Add<br />
After:=Worksheets(Worksheets.Count) wird h<strong>in</strong>ter dem letzten Tabellenblatt<br />
e<strong>in</strong> neues angehängt. Es bekommt den Namen Liste. list ist<br />
e<strong>in</strong>e globale Konstante: Const list = "Liste".<br />
Worksheets(1).Cells(2, 9).Value = Anz_Dg<br />
Worksheets(1).Cells(1, 9).Value = Worksheets(1).Cells(11, 9).Value<br />
Worksheets.Add After:=Worksheets(Worksheets.Count)<br />
Worksheets(Worksheets.Count).Name = list 'Erstellung des Tabellenblattes<br />
"Liste"<br />
Worksheets(1).Range("M:M").Copy<br />
Dest<strong>in</strong>ation:=Worksheets(list).Range("A:A")<br />
Worksheets(list).Range("A1").Insert<br />
Worksheets(list).Range("A1").EntireColumn.ColumnWidth = 22<br />
Dieses Tabellenblatt dient dazu, e<strong>in</strong>e übersichtliche, alphabetisch sortierte<br />
Liste zu erstellen, aus der für jeden Spieler hervorgeht, <strong>in</strong> welchem<br />
Durchgang er an welchem Tisch spielt. Aus dieser Liste kann z.B.<br />
die Teilnehmer<strong>in</strong> Marlies Bäumer erkennen, dass sie im ersten Durchgang<br />
am Tisch 4 spielt mit der Tisch-Nr 2 (s. Abbildung 13).<br />
List<strong>in</strong>g 7<br />
Tabellenblatt Liste h<strong>in</strong>zufügen<br />
H<strong>in</strong>weis 10<br />
Die Spielerliste wurde <strong>in</strong> der<br />
Zwischenzeit im Tabellenblatt<br />
Auslosung<br />
(=Worksheets(1) von Spalte<br />
"F" nach Spalte "M" kopiert.<br />
32