Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Call Anweisung

Forumthread: Call Anweisung

Call Anweisung
17.10.2025 12:28:49
Joachim Baum
Ich habe folgendes geschrieben:

Sub SpeichernUnter()
If Worksheets("Grundlagen").Range("AE19") = "JB" Then Call SpeichernUnterJB
If Worksheets("Grundlagen").Range("AE19") = "GS" Then Call SpeichernUnterGS
Beep
MsgBox "Entweder haben Sie keine, oder falsche Initiale eingegeben !!"
End Sub

Das funktioniert auch einwandfrei. Allerdings kehrt das Programm nachdem der Speicherprozess unter "SpeichernUnterJB" beendet ist, wieder zur MsgBox "Entweder haben Sie keine, oder falsche Initiale eingegeben !!" zurück.

Was kann ich tun,damit der Prozess nach dem Speichern abgeschlossen ist und ich die weitere Bearbeitung des Programms fortsetzen kann. Also nichtmehr zur Msg zurückkehren.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Call Anweisung
17.10.2025 13:05:56
daniel
Naja, jedes IF wird einzeln ausgeführt und danach mit dem nächsten Programmschritt weitergemacht.
du müsstet noch ein IF einfügen, und fragen, ob keine der beiden Bedinungen zutrifft.

If Worksheets("Grundlagen").Range("AE19") = "JB" Then Call SpeichernUnterJB

If Worksheets("Grundlagen").Range("AE19") = "GS" Then Call SpeichernUnterGS
if Not (Worksheets("Grundlagen").Range("AE19") = "GS" OR Worksheets("Grundlagen").Range("AE19") = "JB") Then
Beep
MsgBox "Entweder haben Sie keine, oder falsche Initiale eingegeben !!"
End if


Einfacher ist jedoch, ein kombiniertes IF

If Worksheets("Grundlagen").Range("AE19") = "JB" Then 

Call SpeichernUnterJB
ElseIf Worksheets("Grundlagen").Range("AE19") = "GS" Then
Call SpeichernUnterGS
Else
Beep
MsgBox "Entweder haben Sie keine, oder falsche Initiale eingegeben !!"
end if

oder du verwendest Select Case an:
Select Case Worksheets("Grundlagen").Range("AE19").Value

Case "JB" then
Call SpeichernUnterJB
Case "GS"
Call SpeichernUnterGS
Case Else
Beep
MsgBox "Entweder haben Sie keine, oder falsche Initiale eingegeben !!"
End Select


Gruß Daniel
Anzeige
AW: Call Anweisung
17.10.2025 13:35:35
GerdL
Moin Joachim!
Sub SpeichernUnter()
IF ... RANGE... = "JB" Then
CALL ....
Elseif ... Range .... = "GS" Then
CALL ...
Else
Beep
Msgbox ....
End If
End Sub
Sorry. Ich bin z.Z. ohne Excel.
Du könntest JB und GS in der Call-Anweisung an die Speicherprozedur als Argument übergeben.
Gruss Gerd

.
Anzeige
AW: Call Anweisung
21.10.2025 22:20:34
Oppawinni
Hallo
ich bin nicht ganz sicher ob ich verstanden habe, wo du hin willst, aber vielleicht hilft das:


Sub SpeichernUnter()
Select Case Worksheets("Grundlagen").Range("AE19").Value
Case "JB"
Call SpeichernUnterJB
Case "GS"
Call SpeichernUnterGS
Case Else
Beep
MsgBox "Entweder haben Sie keine, oder falsche Initiale eingegeben !!"
End Select
End Sub
Anzeige
AW: uaahh.
21.10.2025 22:24:54
Oppawinni
So geht's, wenn man eben mal auf Toilette geht...
Plötzlich sind da schon mehrere Antworten und meine landet irgendwo, wo ich sie nicht haben wollte und hätte sie mir auch sparen können.
AW: uaahh.
21.10.2025 22:33:40
Oppawinni
Irgendwas hat mir da einen Streich gespielt. Ich hatte den Forums-Thread aufgerufen, aber da waren keine Antworten...
Aber der Thread ist ja Asbach.... und wie konnte mein Post an einer Stelle landen, die ich noch nicht sehen konnte.... das ist ja.. tss..
Anzeige
AW: Call Anweisung
17.10.2025 20:04:04
schauan
Hallöchen,

hier mal ein einfaches Prinzip:

Sub test()

If 1 = 2 Then MsgBox 2: Exit Sub
If 1 = 1 Then MsgBox 1: Exit Sub
MsgBox 3
End Sub


Dieser Code wird Dir immer nur die 1 zurückgeben ;-) Worauf es ankommt - schreibe bei Dir in die beiden Zeilen : Exit Sub ans Ende. Wenn eine von beiden Möglichkeiten zutrifft, wird das Zugehörige gemacht und anschließend das Makro verlassen.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18