09.02.2014 Aufrufe

Ein VBA-Programm in Excel

Ein VBA-Programm in Excel

Ein VBA-Programm in Excel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Sheets(list).Range("A" & lz).Value = Sp_Name 'und <strong>in</strong> dieser den Namen<br />

e<strong>in</strong>tragen<br />

Worksheets(list).Cells(lz, d + 1).Value = it & "(" & j - 1 & ")"<br />

'mit <strong>E<strong>in</strong></strong>trag der Tisch- und Platz-Nr <strong>in</strong> der betreffenden Durchgangsspalte<br />

Else 'falls schon vorhanden<br />

Worksheets(list).Cells(MatchZeile, d + 1).Value = it & "(" & j - 1<br />

& ")"<br />

'<strong>E<strong>in</strong></strong>trag der Tisch- und Platz-Nr <strong>in</strong> der betreffenden Durchgangsspalte<br />

End If<br />

n = n + 1<br />

'Nach <strong>E<strong>in</strong></strong>tragung <strong>in</strong> Durchgangs-Tabelle<br />

Spierzähler um 1 erhöhen<br />

End Sub<br />

Für jeden Tisch wird zunächst e<strong>in</strong>mal e<strong>in</strong>e Überschrift erzeugt (Case 1),<br />

dann <strong>in</strong> der Unterprozedur ZelleMitNameFuellen() die Spielernamen<br />

e<strong>in</strong>getragen (Case 2 To 6) und zum Schluss (Case 7) noch e<strong>in</strong>e Summenformel<br />

notiert, <strong>in</strong> der die Summe der erreichten Punktzahl pro<br />

Tisch berechnet wird (s. auch List<strong>in</strong>g 9). Sie dient lediglich als Kontrolle,<br />

da bekanntermaßen bei e<strong>in</strong>er Plus-M<strong>in</strong>us-Wertung die Gesamtsumme<br />

immer Null se<strong>in</strong> muss.<br />

Sukzessive holt sich die Unterprozedur ZelleMitNameFuellen() aus dem<br />

1.Tabellenblatt (=Tabellenblatt mit dem Namen Auslosung) e<strong>in</strong>e zuvor<br />

zufällig ausgewählte Zelle der Spalte "M"<br />

Sp_Name = Worksheets(1).Range("M" & (Zuf_Nr(d, n))).Value<br />

und überträgt dessen Inhalt – den Spielernamen – <strong>in</strong> die dafür vorgesehene<br />

Zelle der Durchgangstabelle:<br />

Worksheets(d + 2).Cells(zeile, spalte) = Sp_Name<br />

Der gleiche Spieler(name) wird zusätzlich noch <strong>in</strong> Spalte "K" e<strong>in</strong>getragen,<br />

Worksheets(d + 2).Cells(n, 11).Value = Sp_Name<br />

und mit ihm noch <strong>in</strong> der Zelle rechts daneben, also <strong>in</strong> Spalte "L" der<br />

gleichen Zeile e<strong>in</strong>e Formel zur Übernahme der Punkte; somit werden<br />

alle Änderungen <strong>in</strong> der Punktezahl-Zelle des Spielers mit übernommen:<br />

Worksheets(d + 2).Cells(n, 12).Formula = "=R" & zeile & "C" & spalte +<br />

1 & ""<br />

Die beiden Spalten "K" und "L" spielen später bei Übernahme der<br />

Punktzahl e<strong>in</strong>es Spielers <strong>in</strong> das Tabellenblatt Ergebnis noch e<strong>in</strong>e wichtige<br />

Rolle.<br />

H<strong>in</strong>weis 14<br />

Die Spielerliste wurde bereits<br />

zu Beg<strong>in</strong>n des Ma<strong>in</strong>-<strong>Programm</strong>s<br />

Sub Auslosung von<br />

Spalte "F" nach Spalte "M"<br />

kopiert.<br />

H<strong>in</strong>weis 15<br />

s. List<strong>in</strong>g 11 bzw. H<strong>in</strong>weis<br />

13, Seite 36<br />

Im weiteren Verlauf wird <strong>in</strong> dem Tabellenblatt Liste nach dem betreffenden<br />

Spielernamen gesucht:<br />

MatchZeile = Application.Match(Sp_Name, Sheets(list).Range("A:A"),<br />

0)<br />

40

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!