Clever-Excel-Forum

Normale Version: Excel-2010-Code streikt unter Excel 2003
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Freunde,

aus einer Laune heraus habe ich unter Excel 2010 das im Fernsehen des NDR sonntags 17:00 Uhr laufende Bingo-Spiel (Umweltlotterie) hier nachemfunden:
[attachment=8435] [attachment=8436]
Als erstes werden die Spielscheine für die Mitspieler aufgerufen und ausgedruckt, danach wird die Ziehung entsprechend gestartet.

Nun wollte ein Bekannter dieses Spiel für seinen Familienkreis haben, jedoch besitzt er nur Excel 2003 - also habe ich beide Dateien als Arbeitsmappe 97-2003 "rückübersetzt":
[attachment=8437] [attachment=8438]

Nur leider läuft es nun nicht mehr und ich erhalte bereits beim Öffnen, z.B. der Ziehung.xls, bereits in folgendem Code hinter "DieseArbeitsmappe":

Code:
Private Sub Workbook_Open()
    With Sheets("Ziehung")
        .Activate
        .Range("F10:H13,B20:L21,O4:S19").ClearContents
        .CommandButton1.Caption = "Ziehung beginnen"
        .CommandButton1.BackColor = &HC00000
        .ScrollArea = "G4"
    End With
    Sheets("Basis").Range("A1:A22").ClearContents
    i = 0
    j = 0
    k = 0
End Sub

in der Zeile ".Activate" folgende Fehlermeldung:

"Laufzeitfehler '57121':
Anwendungs- oder objektorientierter Fehler"

ganz egal, welchen Befehl ich aus in diese Zeile schreibe.

Woran liegt das und wie kann ich das beheben - ich finde dafür keinen Anhaltspunkt und keine Lösung? Bitte helft mir auf die Sprünge.
Moin Günter!
Am .Activate kann es jedenfalls imo nicht liegen.
Mir ist allerdings aufgefallen, dass es die .Sheets().Sort-Methode in 2003 nicht gibt.
Hier müsstest Du die Range.Sort-Methode anwenden (die ich IMMER anwende, da sie schlicht einfacher ist und in allen Versionen funktioniert).
https://msdn.microsoft.com/de-de/library...40646.aspx

Der Rest sollte funktionieren.
Kann ich aber nicht nachprüfen, da bei mir kein 2003 mehr läuft.

Gruß Ralf
Hallo Günter,

ich habe noch Excel 2003, bei mir erfolgte das Öffnen fehlerfrei. Die Anweisung .Activate besagt ja das Blatt "Ziehung" zu aktivieren. Wenn das Probleme bleibt probiere esmit .Select  Ein Fehler könnte normalerweise nur auftreten wenn der Blattname "Ziehung" nicht stimmt  (Schreibfehler, Space am Ende?)

Anbei ein Sortier Makro für Excel 2003. Mir ist noch etwas aufgefallen. Bei der Anweisuıng.xlGuess wird die 1. Zeile (4) nicht mitsortiert! Ist das so gewollt?? Ich habe statt dessen xlNo Verwendet, damit alles in Reihe sortiert wird. Wie sieht die Sortierung bei dir in Excel 2010 aus? Wird da die 1. Zeile mit sortiert, oder bleibt die 1. Zahl als "Überschrift" erhalten? Wenn xlNo falsch ist bitte wieder auf xlGuess aendern.

mfg  Gast 123


Code:
Sub Sortieren()
   Application.ScreenUpdating = False
   Range("O4:O19").Sort Key1:=Range("O4"), Order1:=xlAscending, Header:= _
      xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

   Range("P4:P19").Sort Key1:=Range("P4"), Order1:=xlAscending, Header:= _
      xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

   Range("Q4:Q19").Sort Key1:=Range("Q4"), Order1:=xlAscending, Header:= _
      xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

   Range("R4:R19").Sort Key1:=Range("R4"), Order1:=xlAscending, Header:= _
      xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

   Range("S4:S19").Sort Key1:=Range("S4"), Order1:=xlAscending, Header:= _
      xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
   Application.ScreenUpdating = True
End Sub
Hallo,

danke für die Antworten, leider kann es daran aber nicht liegen. Ich habe die Sortierroutinen ausgetauscht und der gleiche Effekt tritt beim Öffnen auf.
Hallo Günther,

wir hatten das Thema vor zwei Jahren schon mal:

http://www.clever-excel-forum.de/thread-1326.html

Entweder hilft die Sache mit der MSForms.exd --> siehe auch den Link zur Batch von Peter H., oder der Austausch des ActiveX-Buttons durch einen Formularbutton.
Hallo,

danke, ich werde mit Hilfe dieser Hinweise mal weiter testen und dann das Ergebnis mitteilen.
Wenn ein ganz 'normale' Ausdruck schon zum Fehler läuft ist es oft ein 'missing reference'.

Untersuche im VBEditor, options/references ob dort etwas 'mangelt'.