Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Bedingung

VBA Bedingung
04.05.2008 17:20:16
VBAfan
Hallo,
ich habe mit VBA ein Mechanik-Programm geschrieben. Nun möchte ich eine Bedingung aufstellen, dass keine negativen Werte angenommen werden. Bei Eingabe eines negativen Wertes soll eine Fehlermeldung erscheinen und eine erneute Eingabe möglich sein.
Mit If Then Else klappt es, aber der Quellcode wird viel zu lang, da man für jeden Wert eine neue If Bedingung aufstellen muss.
Kennt ihr eine bessere und vor allem viel kürzere Möglichkeit? Vielleicht eine, wo man nur einmal eine Bedingung aufstellen muss, die dann für alle Werte gilt?
Vielen Dank!
Gruß
VBAfan

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Bedingung
04.05.2008 17:24:00
Hajo_Zi
Hallo Nick,
der Else zweig ist nicht notwendig, vermute ich mal. Du hast leider zu viel Code gepostet, darum kann ich nicht mehr schreiben.

Na wie wär's mit zyklischer Verarbeitung,...
04.05.2008 17:36:47
Luc:-?
...FanVBAgut... :->
...da man für jeden Wert eine neue If Bedingung aufstellen muss...
So! Muss man?
Ansonsten gibt's noch Switch, Case und anderes. Aber sicher reicht schon Do...Loop, While...Wend bzw For...Next, For Each....In...Next!
Gruß Luc :-?

Anzeige
AW: VBA Bedingung
04.05.2008 17:38:00
Daniel
Hallo
als Schleife könnte das so aussehen:

Sub Eingabe_mit_Prüfung()
Dim txt As String
Dim Wert As Double
Dim abbruch As Boolean
Do
txt = InputBox("Positiven Zahlenwert eingeben")
If txt = "" Then
abbruch = True
Exit Do
End If
If IsNumeric(txt) Then
If CDbl(txt) > 0 Then
Wert = CDbl(txt)
Exit Do
End If
End If
MsgBox "Bitte Positiven Zahlenwert eingeben"
Loop
If abbruch Then
MsgBox "Es wurde abgebrochen."
Else
MsgBox "Korrekte Eingabe: Wert=" & Wert
End If
End Sub


Gruß, Daniel

Aber Daniel,...
04.05.2008 20:04:00
Luc:-?
...einem VBA-Guten muss man doch nicht so ein simples Bsp schreiben, zumal es ihn auch gar nicht wirklich zu interessieren scheint!
Gruß Luc ;-?
PS: Man kann die "Liebesmüh'" auch übertreiben... ;-)

Anzeige
@Luc :-? OT
05.05.2008 07:01:17
Jens
Hi Luc :-?
Ich habe schon viele Beiträge von Dir gelesen. Du scheinst viel mit udFkt zu arbeiten.
Wollte Dich mal fragen, ob Du dazu evtl. schriftl. Material empfehlen könntest?
Da ich noch so gut wie gar nichts mit udFkt gemacht habe, wollte ich mich da auch mal mit befassen.
Klar kann ich da auch Google zu nötigen, aber eine (mögliche) Empfehlung Deinerseits würd mich mehr überzeugen.
Danke Dir schon mal.
Gruß aus dem Sauerland
Jens

Da bringst du mich aber etwas in...
06.05.2008 00:07:23
Luc:-?
...Verlegenheit, Jens... ;-)
Ich habe bisher eigentlich alle VBA-Bücher ignoriert und nur ganz am Anfang mal in so ganz einfachen Heften was nachgelesen. Ansonsten habe ich das Meiste aus der VBE-Hilfe und die eine oder andere Anregung (meist als Idee für Bedarfslösungen) auch aus Foren.
Ich konnte nämlich schon pgmieren, bevor ich mit VBA angefangen habe und das ist auch schon >10 Jahre her! Deshalb kann ich dir eigentlich nur empfehlen, in eine gute Buchhandlung zu gehen und dir da mal einiges anzusehen - auf Verständlichkeit und Vollständigkeit. Letzteres bedeutet, es muss mindestens soviel drin stehen (VBA-Elemente und Pgmierbspp, in deinem Fall natürlich auch umfangreiche udFktsBspp) wie in der VBE-Hilfe. Es gibt in dem Markt nämlich auch Vielschreiber, die eigentlich nur woanders abschreiben und evtl nur noch ein paar praxisferne Bspp beisteuern. Das hat leider eine lange Tradition (schon aus DOS-Zeiten)... Also Faustregel - kaufe dass, in dem dem, was dich besonders interessiert, besonders viel Raum gegeben wird, wenn es auch verständlich und reichlich mit nachvollziehbaren Bspp versehen ist! Aus meiner Sicht gut sind auch solche Bücher, die als Nachschlagewerke organisiert sind. Allerdings könnte es sein, dass in solchen Büchern die Bspp etwas zu kurz kommen.
Ansonsten gilt grdsätzlich das "Learning By Doing"-Prinzip. Das bringt dich idR am weitesten. Denn gerade VBA ist wg seiner nach und nach gewachsenen Vielfalt nicht so schnell in Gänze zu überblicken. Kurse geben da idR auch nur einen Grundeinstieg. Kann auch kaum mehr sein, wenn man weiß wie viele Dozenten arbeiten... Wer einigermaßen verdienen will, muss viele Stunden halten und hat so kaum Zeit für die eigene Weiterbildung. Und meistens schreiben Dozenten die Lehrbücher... ;-)
Also einfach mal anfangen (VBE-Hilfe) und sich die eine oder andere Anregung aus Foren und, wenn nötig, aus Büchern holen! Die Erfahrung kommt dann mit der Zeit. Einiges ist anders bei udF (vor allem die Wirksamkeitseinschränkung), vieles ähnlich wie bei Subroutinen - deshalb zuerst in die Hilfe sehen! Bei Bedarf kannst du natürlich auch immer hier fragen... ;-)
Viel Erfolg!
Gruß Luc :-?

Anzeige
AW: Welche Verlegenheit....
06.05.2008 06:04:00
Jens
Hi Luc :-?
...sollte es da geben? :-)
Danke Dir schon mal für Deine einschätzende Meinung. Das lerning-by-doing-Prinzip praktiziere ich schon seit meinen Anfangszeiten mit VBA (war niemals wirklich von der lesenden Fraktion ;-) ). Finde ich auch viel interessanter und wissensvermittelnder als einfach nur Code abzuschreiben, den man ohne Verständnis einfach irgendwo einsetzt. Aus Fehlern lernt man ja bekanntlich.
Meine VBA-Kenntnisse sind bei weitem nicht sooooo gut, jedoch für den Hausgebrauch bzw. um anderen auch mal eine Hilfe sein zu können, reicht es.
Habe mich halt mit einigen Sachen wie z.B. udF noch nicht wirklich beschäftigt, deshalb hab ich mal nachgefragt.
Dann werd ich mich mal auf die Suche begeben... ;-)
Wünsche Dir noch eine schöne sonnige Woche und nochmals Danke.
Gruß aus dem Sauerland
Jens

Anzeige
Ja, dir auch, Jens! Gruß owT
06.05.2008 12:42:45
Luc:-?
:-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige