Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verliere immer mehr und mehr den Spaß an VBA...

Verliere immer mehr und mehr den Spaß an VBA...
14.08.2006 16:21:57
Norman
Liebe Excel Profis,
seit ungefähr einem Jahr probiere ich mich nun an VBA. Dabei entstand auch unter anderem ein immer größer und komplexer werdendes Programm.
Immer wieder bin ich auf Probleme gestoßen, die bestimmt auch mit der steigenden Komplexität zu tun haben.
Es macht Spaß, die Fehler (auch mit Eurer tollen Hilfe) zu suchen und zu beheben.
Bereits am Anfang hatte ich aber auch Fehler, die nicht direkt zu beheben sondern nur zu umgehen waren.
Heute war ich wieder mal frustiert, als ich nach langer Zeit eine Funktion in meinem Programm erneut aufrief. Das Programm stürzte ab, früher gab es an dieser Stelle keine Probleme.
Dabei tauchen oft Fehler auf die für mich nicht mehr erklärbar sind.
Z.B. gibt es da eine Abrage
If xy ungleich "0" And kleiner "30" Then
Anweisung 1
End If
Auf einmal wurde die Anweisung 1 durchlaufen, immer dann wenn xy größer 100 war. Dies war nur noch mit z.B.
If xy größer "100" Then
Exit Sub
End If
abzufangen. Oder nach dem Anklicken eines CommandButtons taucht eine Fehlermeldung im "Click" Code eines anderen CommandButtons auf obwohl er gar nicht betätigt wurde (funktionierte früher einwandfrei).
Mich nervt das langsam.
Habt Ihr ähnliche Erfahrungen gemacht? Falls ja, kann man dagegen etwas tun oder hilft nur noch Programmiersprache wechseln? Wo seht Ihr die Grenzen von VBA?
Für eure Rückmeldungen schon mal vielen Dank!
Viele Grüße
Norman

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verliere immer mehr und mehr den Spaß an VBA...
14.08.2006 16:25:27
Dr.
Hi,
also da VBA kein Code ist, der sich nach Lust und Laune evolutioniert, kann der Fehler nur in Deiner nach-und-nach-Skalierung des Programms liegen. Wendet man nicht konsequent einen sauberen Programmierstil an, ist es nicht verwunderlich, dass man über kurz oder lang den Überblick über die Abhängigkeiten verliert.
Wo das Problem in Deinem Falle liegt, kann man nur durch die Evaluierung des Codes klären.
AW: Verliere immer mehr und mehr den Spaß an VBA...
14.08.2006 16:51:46
Ralf
Hi Norman,
"...
If xy ungleich "0" And kleiner "30" Then
Anweisung 1
End If
Auf einmal wurde die Anweisung 1 durchlaufen, immer dann wenn xy größer 100 war. Dies war nur noch mit z.B...."
wie wäre es, wenn Du statt eines Strings ("0") besser Zahlen auswertest? Also:
If xy ungleich 0 And xy kleiner 30 then...
Falls aber 0 und 30 als String übergeben werden, kannst Du sie ja auch umwandeln.
Ganzzahlen mit Cint("30"), Gleitkommazahlen mit Csgl("30") oder Cdbl("30"). Kommt auf den Wertebereich an.
Natürlich kannst Du die Programmiersprache wechseln. Vermutlich werden die aber bei solch elementaren Verletzungen der Grundregeln, noch heftiger reagieren.
Ciao, Ralf
Anzeige
AW: Verliere immer mehr und mehr den Spaß an VBA...
14.08.2006 16:26:27
Anna
Hi Norman
probier doch mal:If xy kleiner 30 Then
das ungleich 0 kannst du weglassen, da kleiner 30 ja sowieso schon ungleich 0 ist.
Gruss Anna
AW: Verliere immer mehr und mehr den Spaß an VBA...
14.08.2006 16:28:10
Peter
Hallo Norman
ich möchte 'eine große Bresche FÜR' VBA schlagen.
Ich fürchte, Deine Problem sind hausgemacht.
Du fragst sicherlich die falschen Formate ab, vergleichst numerisch gegen alphanumerisch?
All Programmiersprachen haben ihre Eigenheiten, manche dieser Besonderheiten muss man umgehen, kennen, vermeiden - das ist alles.
Viele Grüße Peter
AW: Verliere immer mehr und mehr den Spaß an VBA...
15.08.2006 09:49:55
Norman
Hallo Zusammen,
vielen Dank für Eure Beiträge!
Bin froh dass es nicht zu dem Ergebnis kam, dass diese Sprache von Microsoft irgendwann überfordert / am Ende ist.
Das hat mich dazu gebracht wieder weiterzumachen ;-)
War halt sehr frustriert.
Stimmt schon, viele Probleme sind Eigencreation!
Eine Sache verstehe ich aber immer noch nicht:
Wie kann ein Fehler in einer 'Click CommandButton Prozedur' auftauchen, wenn dieser gar nicht betätigt wurde?
Danke & Gruß
Norman
Anzeige
AW: Verliere immer mehr und mehr den Spaß an VBA...
15.08.2006 12:44:40
Ralf
Hi Peter,
mit Sicherheit wird diese Prozedur irgendwo von Dir aufgerufen. Probiere mal folgendes: Merke Dir den letzten, vor diesem Fehler ausgeführten Schritt. Setzte einen Haltepunkt in der Prozedur für diesen Schritt und gehe dann mit F8 im Einzelschrittmodus durch das Programm. Hier kannst Du alle Variablenwerte überprüfen und siehst auch, wann, wo und warum die Prozedur aufgerufen wird. (Muss ja nicht nur in der auslösenden Prozedur passieren).
Ciao, Ralf
AW: Verliere immer mehr und mehr den Spaß an VBA...
15.08.2006 16:45:35
Norman
Hallo Ralf,
vielen Dank für den Tipp, werde es gleich ausprobieren. Wie kann man denn den kompletten Code auf einmal durchtesten? Bei mir kommen oft Fehler, wenn ich wieder mal (zufällig) was in einer anderen Art und Weise betätige als sonst.
Geht das?
Danke & Gruß
Norman
Anzeige
AW: Verliere immer mehr und mehr den Spaß an VBA...
15.08.2006 18:10:57
Ralf
Hi Norman,
Fehler sind ja nichts unnormales. Ich kenne niemanden, bei dem alles (zumindest bei umfangreicheren Projekten) auf Anhieb funktioniert. Allerdings muss man auch erkennen können, warum der Fehler aufgetreten ist. Syntaxfehler erkennt das Programm i-d-R. von allein. Tückisch sind logische Fehler. Das Programm läuft anstandslos durch, jedoch liefert es (nicht selten lange Zeit unbemerkt) falsche Werte.
Zu Deiner Frage "Wie kann man denn den kompletten Code auf einmal durchtesten? ":
Kommt auf den Code an. Besteht er nur aus einer Prozedur, ist das ja kein Problem. Problematisch wird es erst bei richtig 'dicken' Brocken. Da kann man nur empfehlen, jede neu erstellte Prozedur/Funktion zunächst separat zu testen. Gibt es keine Beanstandung, dann den Test in Zusammenarbeit mit der/den aufrufenden/aufgerufenen Prozeduren/Funktionen zu testen. Am Besten im beschriebenen Einzelschrittmodus (mit F8). Einen Kompletttest 'auf einen Rutsch' gibt es nicht.
Ciao, Ralf
Anzeige
AW: Verliere immer mehr und mehr den Spaß an VBA...
16.08.2006 10:49:33
Norman
Hallo Ralf,
vielen Dank für aufmunternden Worte, ich bin auch schon wieder dabei zu programmieren!
Mein Programm wird immer größer und damit auch unübersichtlicher. Deine Debug Methode ist prima!
Also wieder ran ans Werk!
Danke & Gruß
Norman

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige