Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel-2010-Code streikt unter Excel 2003
#1
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:

.xlsm   Spielscheine.xlsm (Größe: 37,86 KB / Downloads: 0)
.xlsm   Ziehung.xlsm (Größe: 28,07 KB / Downloads: 2)
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":

.xls   Spielscheine.xls (Größe: 50 KB / Downloads: 5)
.xls   Ziehung.xls (Größe: 54 KB / Downloads: 9)

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.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#2
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
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
Antworten Top
#4
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.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#5
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo,

danke, ich werde mit Hilfe dieser Hinweise mal weiter testen und dann das Ergebnis mitteilen.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#7
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'.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste