wer kann mir bei meinem Problem weiterhelfen da ich kein Profi bin.
Ich habe eine Datei welche ein Spielplan mit Gruppenphasen und KO Runde hat. Beim ausführen des Start Makros, übertrage ich drei Tabellenblätter aus dieser Datei in eine andere Datei die LivetickerAusgabeMonitor heißt und öffne diese gleichzeitig. Mit dieser Datei kann ich auf einen anderen Monitor darstellen und zeige z.B. eine Gruppenphase aus der anderen Datei Spielplan an. Bei der Datei Monitor starte ich automatisch beim öffnen der Datei ein Makro welches bei einer bestimmten Bedigung (in einer Zelle steht nach beendigung Gruppenphase eine 1) eine Schleife in der Datei Monitor auslöst und dann zwischen den anderen zwei Tabellenblättern (LivetickerAusgabe und 32 KO Phase) wechselt. Dies habe ich soweit hinbekommen und funktioniert eigentlich ganz gut wenn ich die Datei Monitor im Vordergrund offen habe. Ein Fehler kommt mir wenn ich die Datei Spielplan im Vordergrund habe will anscheinend (da die Makros alle aufgerufen werden) die Schleife mit dem Namen Tabellenblattwechsel in der Datei ansprechen und findet den Befehl vom Aufruf ja hier nicht da dies ja in der Datei Monitor ist. Ich habe bereits einiges probiert und habe hierzu leider keine Lösung. Wer kann mir da bitte helfen?
Makros:
Sub StartGame()
'
' StartGame Makro
'
'
Dim TN_OK As String
Sheets("Meldungen").Select
TN_OK = Range("AT4").Value
If TN_OK = 1 Then
Static Zaehler As Integer
Zaehler = Zaehler + 1: If Zaehler > 1 Then Exit Sub
Range("K30").Select
Selection.Copy
Range("K30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B3:B66").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("C3").Select
Dim BoOffen As Boolean
Dim WoDatei As Workbook
Dim Pfad As String
Dim Pfadneu As String
Dim Speichername As String
Dim SpeichernameohneEndung As String
Dim DateiName As String
Dim Suchbegriff As String
Dim Pfadaktuell As String
Dim Datei As String
Dim Sicherungsdatei As String
Dim Livetickername As String
Dim KoPhase
Dim AnzahlGruppen
Suchbegriff = Turnier
Pfad = ThisWorkbook.Path
Range("M311").Value = Pfad
Range("M312").Value = Suchbegriff
Pfadneu = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\"))
Speichername = Format(Now, "yyyymmdd") & " " & "Turnier" & ".xlsm"
SpeichernameohneEndung = Format(Now, "yyyymmdd")
ActiveWorkbook.SaveAs Pfadneu & Speichername
ThisWorkbook.Sheets("Meldungen").Range("M314").Value = Date
Range("M315").Value = Speichername
Range("M316").Value = SpeichernameohneEndung
Sheets("Gruppenspiele Übersicht").Select
ActiveSheet.Unprotect
KoPhase = Range("AC1").Value
AnzahlGruppen = Range("AA1").Value
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Meldungen").Select
Livetickername = "LivetickerAusgabeMonitor_Auto_Wechsel" & ".xlsm"
Pfad = Range("M311").Value
Sicherungsdatei = Range("M315").Value
DateiName = Range("M312").Value
Datei = Pfad & "\" & Livetickername
Range("M313").Value = Datei
Worksheets("Zwischenergebnisse").Visible = False
Worksheets("Gruppenaufteilungen").Visible = False
Worksheets("Single-KO").Visible = False
If AnzahlGruppen 13 Then
Worksheets("Gruppen M+N+O+P").Visible = False
End If
If AnzahlGruppen 9 Then
Worksheets("Gruppen I+J+K+L").Visible = False
End If
If AnzahlGruppen 5 Then
Worksheets("Gruppen E+F+G+H").Visible = False
End If
For Each WoDatei In Workbooks
If WoDatei.Name = (Livetickername) Then
If KoPhase >= 12 Then
Windows(Sicherungsdatei).Activate
Sheets("32er Grafik").Select
Sheets("32er Grafik").Copy After:=Workbooks( _
"LivetickerAusgabeMonitor.xlsm").Sheets(1)
End If
Windows(Sicherungsdatei).Activate
Sheets("Liveticker Ergebnis").Select
Sheets("Liveticker Ergebnis").Copy After:=Workbooks( _
"LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Sheets(1)
Windows(Sicherungsdatei).Activate
Sheets("Gruppenspiele Übersicht").Select
Sheets("Gruppenspiele Übersicht").Copy After:=Workbooks( _
"LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Sheets(1)
Windows(Sicherungsdatei).Activate
Windows("LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Activate
Sheets("Gruppenspiele Übersicht").Select
Application.DisplayAlerts = False
Worksheets("Tabelle1").Delete
Application.DisplayAlerts = True
'Windows(Livetickername).Activate
'Sheets("Gruppenspiele Übersicht").Select
Windows(Sicherungsdatei).Activate
BoOffen = True
Exit For
End If
Next
If BoOffen = False Then
Workbooks.Open Filename:=Datei
If KoPhase >= 12 Then
Windows(Sicherungsdatei).Activate
Sheets("32er Grafik").Select
Sheets("32er Grafik").Copy After:=Workbooks( _
"LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Sheets(1)
End If
Windows(Sicherungsdatei).Activate
Sheets("Liveticker Ergebnis").Select
Sheets("Liveticker Ergebnis").Copy After:=Workbooks( _
"LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Sheets(1)
Windows(Sicherungsdatei).Activate
Sheets("Gruppenspiele Übersicht").Select
Sheets("Gruppenspiele Übersicht").Copy After:=Workbooks( _
"LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Sheets(1)
Windows(Sicherungsdatei).Activate
Windows("LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Activate
Sheets("Gruppenspiele Übersicht").Select
Application.DisplayAlerts = False
Worksheets("Tabelle1").Delete
Application.DisplayAlerts = True
'Windows(Livetickername).Activate
'Sheets("Gruppenspiele Übersicht").Select
Windows(Sicherungsdatei).Activate
End If
Else
Dim TN_Anzahl As String
Sheets("Meldungen").Select
TN_Anzahl = Range("AT2").Value
If TN_Anzahl 12 Then
MsgBox "Mindestteilnehmer 12"
End If
If TN_Anzahl > 64 Then
MsgBox "max. Teilnehmer 64"
End If
End If
Makro2:
Sub TabellenblattWechseln()
Dim SartWechsel As Integer
Dim Blattname As String
Dim Dateiname As String
Dim Pfad As String
Dim Dateiname_mit_Pfad As String
Dim Zeit As String
Dim Bezug As String
Dim Tabellenblatt As String
Static Zaehler_Wechsel As Integer
If Zaehler_Wechsel 1 Then
Zeit = "00:00:05"
Zaehler_Wechsel = Zaehler_Wechsel + 1: If Zaehler_Wechsel 2 Then GoTo Sprung
End If
Blattname = ActiveWorkbook.ActiveSheet.Name
If Blattname = "Liveticker Ergebnis" Then
Zeit = "00:01:00"
End If
If Blattname = "32er Grafik" Then
Zeit = "00:00:20"
End If
StartWechsel = Workbooks("LivetickerAusgabeMonitor_Auto_Wechsel.xlsm").Worksheets("Gruppenspiele Übersicht").Cells(2, 57).Value
If Blattname = "Gruppenspiele Übersicht" Then
Zeit = "00:0:01"
End If
If StartWechsel = 1 Then
Dim INDEX As Long
INDEX = ActiveSheet.INDEX
If INDEX = Worksheets.Count Then INDEX = 1
Worksheets(INDEX + 1).Activate
Application.OnTime Now() + TimeValue(Zeit), "TabellenblattWechseln"
Else
Sprung:
Application.OnTime Now() + TimeValue("00:00:10"), "TabellenblattWechseln"
End If
End Sub
Danke schon mal in vorraus