Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

if anweisung, mehrere...

if anweisung, mehrere...
09.12.2007 20:38:00
Lukas
hallo zusammen:
habe diesen code:

Public Sub Kundendaten_komplett()
If Len([Tabelle3].[G3].Text) > 0 Then
MsgBox "Kundendaten komplett"
Else
End If
End Sub


dieser kommt wenn in tabelle 3 g3 einen text enthält, sprich dann ruft es mir eine msgbox auf mit dem inhalt. wie schreibe ich diesen code wenn mehrere felder für die bedingung ausgefällt werden müssen damit mir dieser aufruf kommt?
gruess

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: if anweisung, mehrere...
09.12.2007 20:41:39
{Boris}
Hi,
wenn Du die Funktion UND() kennst, dann wende diese auch auf VBA-Ebene an:
If Bedingung1 And Bedingung2 And Bedingung3 Then
Grüße Boris

AW: if anweisung, mehrere...
09.12.2007 20:45:00
Lukas
danke.
fast zu einfach...zwinker..
schönen abend noch.
gruess

AW: if anweisung, mehrere...
09.12.2007 21:05:25
Daniel
Hi
für deinen Fall noch einfacher und ohne UND ist folgendes:

with sheets("Tabelle3")
if (len(.Range("g3")) * len(.range("g4")) * len(.range("g5"))) > 0 then
else
end if
end with


warum?
ganz einfach: alle Längen miteinander multiplizieren, wenn eine 0 ist, dann ist das gesamtprodukt auch 0
Gruß, Daniel

Anzeige
* statt AND
09.12.2007 21:15:56
{Boris}
Hi Daniel,
...natürlich völlig korrekt - aber imho nicht für´s Grundverständnis, sondern erst darüber hinaus.
Die Prüfung auf größer Null kann dann auch noch entfallen:
if len(.Range("g3")) And len(.range("g4")) And len(.range("g5")) then
Grüße Boris

AW: * statt AND
09.12.2007 21:42:02
Daniel
Hi
das würd ich jetzt für diesen Fall genau anders rum sehen:
0 * x ist immer 0
das lernt man schon in der Schule und gehört damit meiner Ansicht nach zum Grundwissen (die AND-funktion nicht unbedingt)
im prinzip gehts ja für nen VBA-Anfänger (der ja nicht alles wissen kann) darum, sich mit dem bisschen Wissen was er hat und ner Portion Kreativität ne brauchbare Lösung zusammenzubasteln (auch Wissen aus anderen Bereichen).
Ist wie im richtigen Leben auch, wer Reden kann, den genügt auch ein Grundwortschatz von ein paar hundert wörtern, um sich erfolgreich durchs Leben zu schlagen, ohne daß er für jeden Sachverhalt die "richtige" Vokabel weiß.
Deswegen sollte man nicht nur neue Funktionen lernen, sondern auch die, die man schon kennt, passend einzusetzen.
Daher bitte meinen Beitrag nur als Ergänzung (und als Appel an die eigene Kreativität) sehen, natürlich ist die AND - Funktion die bessere, den spätestens, wenn manche einträge mehr als nur einen Buchstaben haben sollen (z.B. Postleitzahl), ist die Multiplikationsmethode klar überfordert.
Gruß, Daniel

Anzeige
Natürlich hast Du Recht mit...
09.12.2007 22:02:00
{Boris}
Hi Daniel,
0 * x ist immer 0
Allerdings greift der unbedarfte Anwender in der Regel auf
=WENN(UND(A1>1;B1>1);"Dieses";"Jenes")
zurück statt auf
=WENN((A1>1)*(B1>1);"Dieses";"Jenes")
Zumindest meine Beobachtung ;-))
Grüße Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige