Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fußball Kreuztabelle

Forumthread: Fußball Kreuztabelle

Fußball Kreuztabelle
20.03.2005 13:15:02
heiko
hallo erst mal,
ich habe eine Fußballtabelle erstellt. In einem Blatt stehen die Ergebnisse und in einem anderen Blatt habe ich eine Kreuztabelle erstellt. Wenn ich nun über ein Makro die Kreuztabelle füllen möchte dauert der Vorgang unwahrscheinlich lange, weil ständig zwischen den beiden Blättern gewechselt werden muss.
Wie kann ich den Vorgang beschleunigen ? (evtl. Temp –Datei)
Vielen Dank für im voraus
gruss heiko
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fußball Kreuztabelle
20.03.2005 13:28:10
Boris
Hi Heiko,
...dauert der Vorgang unwahrscheinlich lange, weil ständig zwischen den beiden Blättern gewechselt werden muss.
Entferne einfach alle SELECT und ACTIVATE aus deinem Code. Zudem verzichte auf Schleifenkonstruktionen zu Gunsten von Find-Methode und Konsorten.
Aber das Einfachste wäre sicherlich, wenn du mal dein Beispiel hochlädst oder zumindest mal deinen bisherigen Code posten würdest.
Grüße Boris
Anzeige
AW: Fußball Kreuztabelle
20.03.2005 14:18:49
Boris
Hi Heiko,
...hab ich dir ja bereits gesagt: Entferne alle Select und Activate aus deinen Codes zu Gunsten einer klaren Objektreferenzierung.
Zudem sind solche Konstrukte abenteuerlich und schnarchlangsam:
Do Until ActiveCell = ""
ActiveCell.Offset(0, 1).Activate
Das erinnert mich ganz stark an Beispiele von B.H. (nutzt du diese Literatur?).
Zudem blick ich auch leider Deine Datei nicht - daher: Noch offen.
Grüße Boris
Anzeige
AW: Fußball Kreuztabelle
20.03.2005 15:31:08
heiko
hallo Boris,
im Blatt spieltage2 stehen die Ergebnisse der Spieltage.
ein Spieltag besteht aus 2 Zeilen. in der ersten Zeile stehen die Gewinner und in der zweiten Zeile die Verlierer des Spieltages.
Nun möchte ich prüfen, wer mit wem wie viele spiele gewonnen hat (bzw. verloren hat).
Als erste holt sich das Makro einen Name aus Kreuztabelle B4:B34 und ein Name aus C3:AD3 (z.B. Daniel und Adam) und vergleicht wie oft diese Kombination bei den Siegermannschaften vorkommt.
Diese Schleife läuft so lange bis allen Kombinationen durchlaufen sind.
Ich hoffe du kommst mit dieser Erklärung zurecht.
Als Literatur benutze ich das Internet.
Leider kann ich es nicht besser.
Deshalb wende ich mich an dieses Forum.
Gruß
heiko
Anzeige
AW: Fußball Kreuztabelle
20.03.2005 18:57:12
Herbert
Hallo heiko,
so gehts immerhin in 3,35 sec...


Sub kreuz_Siege_mit()
Dim shK As Worksheet, shS As Worksheet
 Set shK = Worksheets("Kreuztabelle")
 Set shS = Worksheets("Spieltage2")
 
Dim suche1, suche2 As String, a%
Dim zz, yy, zy, p, q, zl, s As Integer
Dim i, t As Double
t = Timer
With Application
   .ScreenUpdating = False
   .Calculation = xlCalculationManual
End With
zl = shS.Cells(Rows.Count, 8).End(xlUp).Row
For q = 3 To 31
        suche2 = shK.Cells(3, q)
    For p = 31 To Step -1
            suche1 = shK.Cells(p, 2)
            zz = 0
            yy = 0
            zy = 0
            
    If suche1 = "" Then Exit Sub
        For i = 3 To zl Step 2
             zz = 0
             yy = 0
           For s = 8 To 13
             If shS.Cells(i, s) = suche1 Then zz = 1
             If shS.Cells(i, s) = suche2 Then yy = 1
        
            If suche1 = suche2 Then GoTo Weiter
            
           Next
              
      If zz = 1 And yy = 1 Then
         zy = zy + 1
         zz = 0
         yy = 0
      End If
    Next
  
    If zy > 0 Then
       shK.Cells(p, q) = zy
    Else
     GoTo Weiter
    End If
    
Weiter:
Next
Next
With Application
   .ScreenUpdating = True
   .Calculation = xlCalculationAutomatic
End With
a = MsgBox(Format(Timer - t, "#0.00") & " Sekunden")
End Sub

     Gruß Herbert
Anzeige
AW: Fußball Kreuztabelle
20.03.2005 19:08:10
heiko
Hallo Herbert,
vielen dank für die Mühe.
Ich werde es gleich testen.
Gruß
heiko
AW: Fußball Kreuztabelle
20.03.2005 19:40:12
heiko
Hallo Herbert,
vielen dank.
Es funktioniert prima.
6,44 s.
mit meiner version hat es 191,48 s gedauert.
merci
heiko
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige