Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
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
Inhaltsverzeichnis

Case

Case
29.01.2015 14:01:14
Mathias
Hallo,
Ich habe ein Problem bei einer Tabelle für Reisekostenabrechnung.
Mittels Formeln in der viele SVERWEIS, UND, ODER, WENN und Listenfelder darin vorkommen schon erfolgreich hinbekommen.
Nun Möchte ich die Tabelle gerne über ein Formular ausfüllen können. Daher habe ich versucht das ganze mal in VBA herzustellen.
Dafür wollte ich Case benutzen das kommt mir sinnvoller vor als if da ich sechs bis sieben Fälle eintreten können.
Ich habe in Tabelle1 habe ich mittels Formular Daten eingetragen.
Nun kommen da die Tabellen übergreifenden Abfragen und Abhängigkeiten da komme ich ins Schleudern.
z.B.
Case 1:
Wenn der Wert in Zelle H2 folgende Situation eintritt 824
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der links daneben steht also in Tabelle 3 Spalte C in die Zelle K2 von Tabelle 1 eingetragen werden.
Case 2:
Wenn der Wert in Zelle H2 folgende Situation eintritt H2=24
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der links daneben steht also in Tabelle 3 Spalte D in die Zelle K2 von Tabelle 1 eingetragen werden.
Case 3:
Wenn der Wert in Zelle H2 folgende Situation eintritt J2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der links daneben steht also in Tabelle 3 Spalte E in die Zelle K2 von Tabelle 1 eingetragen werden.

Case 4:
Wenn der Wert in Zelle H2 folgende Situation eintritt 824 und I2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der links daneben steht also in Tabelle 3 Spalte E * 20% in die Zelle K2 von Tabelle 1 eingetragen werden.
Ich habe in der Tabelle 3 über 300 Länder erfasst.
Die anderen Fälle bauen dann auf den vorherigen auf. Sind nur Berechnungen ähnlich wie im Case 4.
Zusätzlich habe ich ein Problem im Formular Pflichtfelder herzustellen ohne die ein Eintragen in die Tabelle nicht möglich sein soll.
Kann mir da jemand weiterhelfen?
In VBA bin ich da noch ganz am Anfang aber ich dachte mir die Tabelle in VBA zu machen wäre ein interessanter Einstieg in die Programmierung und auch nützlich für mich.
Danke im Voraus
Mathias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispielmappe und präziser... AW: Case
29.01.2015 17:11:09
Michael
Hallo Mathias!
Ich kann mir vorstellen, dass es nicht nur mir so geht: So wie Du Dein Problem beschreibst, ist es sehr schwer Dir zu helfen. Du beziehst Dich auf sehr viele Details Deiner Datenstruktur (Arbeitsmappe), die _wir_ nicht kennen - eine Beispielmappe ist hier schon mal sehr hilfreich.
Deine Fallprüfung (Case... ) ist vermutlich umsetzbar, aber Deine Angaben sind sehr schwer verständlich, bspw.

Case 1:
Wenn der Wert in Zelle H2 folgende Situation eintritt 824

Wenn H2 sowieso größer 24 sein soll, warum dann noch prüfen ob 8 kleiner H2 ist?
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der links daneben steht also in Tabelle 3 Spalte C in die Zelle K2 von Tabelle 1 eingetragen werden.
Ist der Wert aus E2 noch Teil der Prüfbedingung? Und hinsichtlich "in TabelleX steht das, und da soll X stehen... " sind wir wieder bei der Beispielmappe.
Wenn Du hier also präzisieren kannst, finden sich, wie ich denke, bald Helfer_innen!
Schönen Abend
Michael

Anzeige
Beispielmappe und präziser... AW: Case
30.01.2015 08:25:57
Mathias
Hallo Michael,
erst mal danke für die Antwort.
Ich habe gestern noch ein wenig probiert und meine Länder jetzt auf der anderen Seite also nicht wundern wenn da jetzt überall rechts statt links steht. Auch habe ich jetzt alle möglichen Fälle die mir eingefallen sind eingetragen. Aber alles Ohne Fehlerabfrage das wollte ich mir dann später gönnen wo ich aber auch da noch nicht so richtig weis wie ich das machen soll.
Ach ja das 8<=H2>24 war ein Schreibfehler meinerseits es muss heißen 8<=H2<24
dann also hier nochmal wie ich das machen will.
Case 1:
Wenn der Wert in Zelle H2 folgende Situation eintritt H2<8
Dann ist der Wert in der soll in Tabelle 1 K2=0.
Case 2:
Wenn der Wert in Zelle H2 folgende Situation eintritt 8<=H2<24
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland
gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte C in die Zelle K2 von Tabelle 1 eingetragen werden.
Case 3:
Wenn der Wert in Zelle H2 folgende Situation eintritt H2=24
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland
gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte D in die Zelle K2 von Tabelle 1 eingetragen werden.
Case 4:
Wenn der Wert in Zelle H2 folgende Situation eintritt J2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte E in die Zelle K2 von Tabelle 1 eingetragen werden.
Case 5:
Wenn der Wert in Zelle H2 folgende Situation eintritt 8<=H2<24 und I2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B
Deutschland gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte E * 20% in die Zelle K2 von Tabelle 1 eingetragen werden
Case 6:
Wenn der Wert in Zelle H2 folgende Situation eintritt H2=24und I2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte E * 20% in die Zelle K2 von Tabelle 1 eingetragen werden.
Case 7
Wenn der Wert in Zelle H2 folgende Situation eintritt J2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B
Deutschland gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte C in die Zelle E2 von Tabelle 1 eingetragen werden
Case 8
Wenn der Wert in Zelle H2 folgende Situation eintritt I2 = X und J2 = X
In Tabelle 1 Zelle E2 Deutschland steht soll in Tabelle 3 Spalte B Deutschland
gesucht werden und der der Wert der rechts daneben steht also in Tabelle 3 Spalte C in die Zelle E2 * 20% von Tabelle 1 eingetragen werden
Case 9
Wenn der Wert in Zelle H2 folgende Situation eintritt H2 >24
MSG box „Es gibt keine Tage mit mehr als 24 Stunden“
Im Anhang ist das Sheet wie ich sie gerne in VBA machen würde und die in der ich alles mit Formeln gemacht habe um so in etwa zu sehen wie ich das machen will.
https://www.herber.de/bbs/user/95415.zip
Vielen Dank
Mathias

Anzeige
Beispielmappe und präziser... AW: Case
30.01.2015 12:29:43
Michael
Hallo Mathias!
Habe kurz über Deine Beispielmappe drübergeschaut. Eine vollständige Lösung kann ich Dir hier nicht anbieten, weil dies erfordern würde mich sehr eingehend mit Deinem Code und Deiner Mappe zu beschäftigen, und das kann ich hier nicht leisten; bisweilen sind mir Dein Code bzw. auch Deine Angaben einfach zu konfus/verwirrend.
Aber ich möchte Dir hier meinen Ansatz für die Fallauswahl mitgeben, auf dem Du vielleicht aufbauen kannst. Groß überprüft ob Deine Fallprüfungen tatsächlich so Sinn ergeben, oder evtl. anders strukturiert sein müsste, habe ich nicht - aber ich wollte zumindest einen Anhaltspunkt liefern.
Sub Fallauswahl()
Select Case Tabelle1.Cells(2, 8).Value
'Fall 1
Case Is  24
MsgBox "Es gibt keine Tage mit mehr als 24 Stunden"
End Select
End Sub
Ich steige hier aus Zeitgründen aus - vielleicht findet sich noch einE andereR HelferIn!
Viel Erfolg mit Deinem Projekt
Michael

Anzeige
Beispielmappe und präziser... AW: Case
30.01.2015 13:58:59
Mathias
Hallo Michael,
erst mal Vielen dank für das beispiel.
So viel Hilfe habe ich gar nicht erwartet da ich nach und nach mitbekommen habe wie umfangreich das ganze wird.
Es hilft auf mir jedenfalls sehr viel weiter so als blutiger Anfänger.
Oder ich versuche das ganze präziser zu beschreiben am ende soll die VBA genauso so werden wie die Tabelle die ich auf herkömmliche art und weise gemacht habe nur das ich bei dem VBA Projekt alles die Daten mit der Maske eingeben lassen möchte. Da es immer wieder Leute geschafft haben trotz Blattschutz etwas zu löschen oder was auch immer.
Wenn man 200 Nutzer hat passieren dann auch 50 immer wieder dinge an die man niemals gedacht hätte. :-)
Danke
Mathias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige