Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
696to700
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
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kompatible Programme schreiben z.B. Round / Runden

Kompatible Programme schreiben z.B. Round / Runden
22.11.2005 21:04:23
Daniel
Hallo Excel Profis,
wie kann ich die Funktion Round/Runden so verwenden, dass VBA-Progamme unter Office 97 bis XP anstandslos laufen? In Version 8.0 = Office 97 lautet der Funktionsname Runden() - bei den späteren Versionen Round().
Dieses Problem dürfte bei allen "Application.WorksheetFunction" vorkommen.
Die Abfrage "Application.Version" ist mir bekannt, aber wie macht man dann weiter? Bei einer Verzweigung à la: If Application.Version &gt 8.0 then...
meckert die Syntaxprüfung.
Danke im Voraus, Daniel

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kompatible Programme schreiben z.B. Round / Runden
22.11.2005 21:07:50
Kurt
Hi,
das ist nicht bei allen Funktionen so! Round gibts erst ab E 2000. Du bist auf der sicheren Seite, wenn du stattdessen Worksheetfunction.Round() verwendest.
mfg Kurt
AW: Kompatible Programme schreiben z.B. Round / Ru
22.11.2005 22:03:09
Daniel
Hallo Kurt,
danke für deinen Beitrag. Leider setzen wir in der Firma verschiedenste Office Pakete ein und das Programm soll möglichst auf allen Rechnern laufen. Office 97 ist noch weit verbreitet und erwartet deutsch geschriebene Befehle für die WorksheetFunction's, daher funktioniert Worksheetfunction.Round() für Office 97 nicht!
Gruß, Daniel
AW: Kompatible Programme schreiben z.B. Round / Ru
22.11.2005 22:06:46
Kurt
Aber klar funktioniert das, sogar in allen Versionen seit E 97.
VBA in E 97 kannte Round noch nicht, aber als Worksheetfunction schon.
mfg Kurt
Anzeige
AW: Kompatible Programme schreiben z.B. Round / Ru
22.11.2005 22:36:01
Daniel
Hallo Kurt,
ich kann das heute abend nicht mehr überprüfen, aber ich hatte Round() nicht solo, sondern als Application.Worksheetfunction.Round() verwendet?! Danke erstmal!
Daniel
AW: Kompatible Programme schreiben z.B. Round / Ru
22.11.2005 23:03:31
Kurt
Nochmal:
Du musst Worksheetfunction.Round() verwenden, wenn es in allen Versionen ab E 97 laufen soll, weil es in E 97 in VBA Round noch nicht gab.
mfg Kurt
AW: Kompatible Programme schreiben z.B. Round / Ru
23.11.2005 18:38:24
Daniel
Hallo Kurt,
Danke für die Tipps! Es funktioniert so, wie Du es sagst. Ich hatte der Round Funktion zur Laufzeit versehentlich einen Fehler übergeben und den konnte es verständlicherweise nicht Runden!
Grüße Daniel
Anzeige
AW: Kompatible Programme schreiben z.B. Round / Runden
22.11.2005 21:11:47
Peter
Hallo Daniel,
setze die Version in Anführungszeichen, dann geht es
If Application.Version gößer "8.0" Then
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Kompatible Programme schreiben z.B. Round / Ru
22.11.2005 21:50:38
Daniel
Hallo Peter,
sorry ich habe mich nicht klar ausgedrückt. Die Syntaxprüfung meckert, wenn ich NACH der Versionsabfrage verzweige:
if Application.Version &gt 8.0 then
application.worksheetfunction.round(5.336,2) 'diese Zeile wird unter Excel 97 Probleme machen
else
application.worksheetfunction.runden(5.336,2) 'Problematisch für neuere Versionen
end if
AW: Kompatible Programme schreiben z.B. Round / Ru
22.11.2005 21:56:50
Fred
Hi,
Worksheetfunction.Round(1.2345,2) klappt in allen Versionen.
mfg Fred
Anzeige
AW: Eigentl war der größte VBA-Einschnitt...
22.11.2005 22:01:02
Luc:-?
...zwischen xl95 und xl97, Daniel.
Da wurde das Objektmodell neu geordnet und die dt VBA-Versionen abgeschafft, weshalb H.Herber auch nur eine Abwärtskompatibilität bis xl97 garantiert. Könnte das Problem vielleicht in der dt Notation einer Zahl als Argument einer englischen xl-Funktion liegen ("." und ",")?
Gruß Luc :-?
AW: Eigentl war der größte VBA-Einschnitt...
22.11.2005 22:26:27
Daniel
Hallo Luc,
danke auch dir!
Die Syntaxprüfung läuft über die gesamte Function und ignoriert Verzweigungen. Daher wird in jedem Fall EINE falsche Schreibweise des Runden-Befehls gefunden - je nach Umgebung ist entweder die deutsche oder die englische Schreibweise falsch! Es kommt gar nicht zur Ausführung des Programms. Daher glaube ich auch nicht, das es Problem mit dem Dezimaltrennzeichen gibt.
Gruß, Daniel
Anzeige
AW: Wie du meinst... Gruß - owT
22.11.2005 23:31:24
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige