Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spielbericht drucken

Spielbericht drucken
01.01.2007 10:22:48
Andy
Guten Tag,
ich habe ein Problem und hoffe hier eine Lösung zu finden.
Ich habe in einer Tabelle 1 mehrere Sportbegegnungen. z.B. in der Zeile 1
(U13 Peter Meier gegen Max Mustermann) oder in der Zeile 2 (U21 Daniel Müller gegen Jan Freiberg)
und in weiteren Zeilen noch viele andere.
Nun weise ich den Begegungen Spielfelder zu. z.B. in der Zeile 1 in der Zelle H1 das Feld1 (durch ein Pulldownmenü - in der Feld1, Feld2 etc. steht.
Nun das Problem:
Wenn ich das tue, möchte ich, dass diese Begegnung in einen Spielbericht im Tabellenblatt 2 kopiert wird (die einzelnen Parameter aus den Zellen wie Alterklasse, Vorname, Nachname etc.) und der Spielbericht aus dem Drucker kommt. Natürlich muss das in den Spielbericht kopierte aus Zeile 1 bei einer späteren Zuweisung von Zeile 2 (oder anderen) überschrieben werden und ebenfalls gedruckt erscheinen.
Kann mir da jemand helfen?
vielen Dank im Vorfeld
Andy Yomi aus Hamburg

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spielbericht drucken
02.01.2007 12:49:57
fcs
Hallo Andy,
mit folgendem Makro kannst du automatisch die Daten aus der Liste (Tabelle1) in den Spielbericht (Tabelle2) übertragen, wenn das Feld in Spalte H eingetragen wird und den Spielbericht drucken.
Den Code muss du im VBA-Editor unter der Tabelle1 einfügen und den Code bezüglich der Zelladdressen anpassen/ergänzem.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Range)
'Prüfung der Wertänderung in Spalte H ab Zeile 1
If Target.Column = 8 And Target.Row >= 1 Then
Call Spielbericht(Target.Row, Me, ActiveWorkbook.Worksheets("Tabelle2"))
End If
End Sub
Sub Spielbericht(Zeile As Long, BlattListe As Worksheet, BlattBericht As Worksheet)
If MsgBox("Spielbericht drucken?", vbYesNo, "Spielbericht") = vbNo Then Exit Sub
With BlattBericht
'Alt-Daten im Spielbericht löschen
.Range("B2").ClearContents 'Klasse
.Range("E2").ClearContents 'Feld
.Range("A5:C5").ClearContents 'Daten Spieler 1
.Range("E5:G5").ClearContents 'Daten Spieler 2
'Daten aus Liste in Spielbericht übertragen
.Range("B2").Value = BlattListe.Cells(Zeile, "A") 'Klasse
.Range("E2").Value = BlattListe.Cells(Zeile, "H")  'Feld
.Range("A5").Value = BlattListe.Cells(Zeile, "B") 'Name Spieler 1
.Range("B5").Value = BlattListe.Cells(Zeile, "C") 'Vorname Spieler 1
.Range("C5").Value = BlattListe.Cells(Zeile, "D") 'Verein Spieler 1
.Range("E5").Value = BlattListe.Cells(Zeile, "E") 'Name Spieler 2
.Range("F5").Value = BlattListe.Cells(Zeile, "F") 'Vorname Spieler 2
.Range("G5").Value = BlattListe.Cells(Zeile, "G") 'Verein Spieler 2
'      .PrintPreview 'Druck-Vorschau
.PrintOut 'Ausgabe auf Drucker
End With
End Sub

Anzeige
AW: Spielbericht drucken
02.01.2007 14:23:10
Andy
Hallo Franz,
das klingt sehr gut. Jedoch bin ich nicht sehr gut in VBA. Ich hänge mal die Datei an. Vielleicht kannst Du mir nochmal helfen? Wäre sehr nett.
https://www.herber.de/bbs/user/39318.xls
Die roten Felder der Spielbegegnung 1 in den Zeilen 2 und 3 im Tabellenblatt "Spielnummern" sollen bei einem Auruf des Pulldownmenüs in der Zelle O2 in die entsprechenden roten Felder im Tabellenblatt "Spielbericht" übertragen werden und der dann ausgefüllte Spielbericht gedruckt erscheinen.
Mache ich anschließend die gleiche Aktion für die Spielbegegung 2 in den Zeilen 4 und 5 sollen die entsprechenden Felder wieder in den Spielbericht übertragen und gedruckt werden und damit die vorherigen Zelleneinträge der Spielbegegnung 1 im Tabellenblatt "Spielbericht" überschreiben.
Kannst Du mir dabei helfen?
vielen Dank bis hier hin.
Gruss Andy
Anzeige
AW: Spielbericht drucken
02.01.2007 15:47:38
fcs
Hallo Andy,
hier das entsprechend angepasste Makro, das du im VBA-Editor nach Doppelklick auf "Tabelle5(Spielnummern)" im rechten Fenster einfügen muss.
Falls das Makro auch in der Spalte "Zeit" die Uhrzeit der Eingabe des Feldes eintragen soll (statt der Formel), dann muss du in der entsprechenden Zeile das Kochkomma am Zeilenanfang löschen.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Range)
'Prüfung der Wertänderung in Spalte O ab Zeile 2
If Target.Column = 15 And Target.Row > 1 Then
Call Spielbericht(Target.Row, Me, ActiveWorkbook.Worksheets("Spielbericht"))
End If
End Sub
Sub Spielbericht(Zeile As Long, BlattListe As Worksheet, BlattBericht As Worksheet)
If MsgBox("Spielbericht drucken?", vbYesNo, "Spielbericht") = vbNo Then Exit Sub
With BlattBericht
'Alt-Daten im Spielbericht löschen
.Range("B3:B4").ClearContents 'Klasse, Runde
.Range("D3:D4").ClearContents 'Disziplin,Gruppe
.Range("G2:G4").ClearContents 'Spielnummer, Leistungsklasse, Spiel
.Range("A7:C8").ClearContents 'Daten Team 1
.Range("E7:G8").ClearContents 'Daten Team 2
'Daten aus Liste in Spielbericht übertragen
.Range("G2").Value = BlattListe.Cells(Zeile, "A") 'Spielnummer
.Range("B3").Value = BlattListe.Cells(Zeile, "B") 'Altersklasse
.Range("B4").Value = BlattListe.Cells(Zeile, "E") 'Runde
.Range("D3").Value = BlattListe.Cells(Zeile, "C") 'Disziplin
.Range("D4").Value = BlattListe.Cells(Zeile, "F") 'Gruppe
.Range("G3").Value = BlattListe.Cells(Zeile, "D") 'Leistungsklasse
.Range("G4").Value = BlattListe.Cells(Zeile, "G") 'Spiel
.Range("A7:C7").Value = BlattListe.Cells(Zeile, "H").Range("A1:C1").Value 'Team 1, Spieler 1
.Range("A8:C8").Value = BlattListe.Cells(Zeile + 1, "H").Range("A1:C1").Value 'Team 1, Spieler 2
.Range("E7:G7").Value = BlattListe.Cells(Zeile, "L").Range("A1:C1").Value 'Team 2, Spieler 1
.Range("E8:G8").Value = BlattListe.Cells(Zeile + 1, "L").Range("A1:C1").Value 'Team 2, Spieler 2
'    .PrintPreview 'Druck-Vorschau
.PrintOut 'Ausgabe auf Drucker
End With
'Eingabe-Zeit in Spalte P der Liste eintragen
'  BlattListe.Cells(Zeile, "P").Value = Now - Date
End Sub

Anzeige
AW: Spielbericht drucken
02.01.2007 16:40:14
Andy
Hallo Franz,
das ist ja der Hammer!! Es funktioniert super gut. Vielen Dank für Deine Hilfe und die gespendete Zeit. Als Excel-Leihe bin ich ganz fasziniert! Nur leider habe ich nicht verstanden, wie Du das mit der Zeit meintest. Ich würde gerne die Zeit der Feldzuweisung in der Zeile P haben. Meine Formel hat den Fehler, dass sich die Zeit ständig aktualisiert.
Ich hatte Dich so verstanden, dass ich das Hochkomma im Feld des Editors entfernen muss.
Hier nochmal das Ende deines VBA Textes:
' .PrintPreview 'Druck-Vorschau
.PrintOut 'Ausgabe auf Drucker
End With
'((((((Dieses dachte ich)))))))Eingabe-Zeit in Spalte P der Liste eintragen
' BlattListe.Cells(Zeile, "P").Value = Now - Date
End Sub
wenn ich das entferne, bekomme ich eine Fehlermeldung.
Was mache ich falsch? und muss ich dann die Zeitformel in den Zellen löschen?
Danke nochmal
Gruss Andy
Anzeige
AW: Spielbericht drucken
03.01.2007 08:04:51
fcs
Hallo Andy,
so

'Eingabe-Zeit in Spalte P der Liste eintragen
BlattListe.Cells(Zeile, "P").Value = Now - Date
End Sub

Gruss
Franz
AW: Spielbericht drucken
03.01.2007 13:13:08
Andy
Hallo Franz,
jetzt geht es. Dank nochmal.
Gruss aus Hamburg
Andy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige