Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
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

Antwort einer MsgBox weiterverarbeiten

Antwort einer MsgBox weiterverarbeiten
12.04.2020 19:27:23
Fredo
https://www.herber.de/bbs/user/136662.xlsm
Hallo Forumsmitglieder,
mein Versuch mich in VBA reinzuarbeiten, scheitert zur Zeit an folgender Aufgabenstellung:
Wenn im Bereich E2:E38 ein Eintrag erfolgt, soll nachgefragt werden, ob der Eintrag als Serientermin behandelt werden soll.
Falls diese Frage mit ja beantwortet wird, soll eine weitere Meldung darauf hinweisen, dass Start- bzw. Enddatum und Intervall des Serientermins eingetragen werden muss. Falls die Frage mit nein beantwortet wird, soll ein Abbruch erfolgen und ganz normal weitergemacht werden.
Was mache ich falsch?
Jeder Hinweis bringt mich weiter. Vielen Dank für eure Mühen und frohe Ostern
der Fredo

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

Betreff
Datum
Anwender
Anzeige
AW: Antwort einer MsgBox weiterverarbeiten
12.04.2020 19:30:47
Hajo_Zi
Hallo Freddo,
Sub Test()
If MsgBox("Wollen Sie den Auftrag wirklich löschen.", vbYesNo + vbQuestion, "Löschabfrage ?" _
) = vbYes Then
MsgBox "Ja"
Else
MsgBox "Nein"
End If
End Sub

AW: Antwort einer MsgBox weiterverarbeiten
12.04.2020 19:43:10
Nepumuk
Hallo Fredo,
im Modul der Tabelle:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E2:E38")) Is Nothing Then Call SerienTermin
End Sub

Und dann so weiter:
Option Explicit

Public Sub SerienTermin()
    
    If MsgBox("Soll der eingetragene Termin als Serientermin gebucht werden?" & vbLf, _
        vbYesNo Or vbQuestion, "Serientermin?") = vbYes Then
        If MsgBox("Bitte Start- bzw Enddatum sowie den Serienbriefinterval eintragen" & _
            vbLf & _
            vbLf & _
            "1 --> täglich" & _
            vbLf & _
            "2 --> wöchentlich" & _
            vbLf & _
            "3 --> monatlich" & _
            vbLf & _
            "4 --> pro Quartal", vbCritical Or vbOKCancel, " Serienbrief angaben") = vbOK Then
            
            'serientermin
            
        End If
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Antwort einer MsgBox weiterverarbeiten
12.04.2020 20:04:29
Fredo
Hallo Nepumuk,
wunderbar, so sollte es sein. Bist du so lieb und kannst mir meine Fehler erklären?
Hallo Hajo,
dein Code ist sehr allgemein gehalten, aber funktioniert einwandfrei. Ich werde den Codeschnipsel in meine Sammlung(die ich gerade aufbaue) aufnehmen.
Vielen Dank an euch beide.
Bleibt gesund und bis demnächst
der Fredo
AW: Antwort einer MsgBox weiterverarbeiten
12.04.2020 20:28:51
Fredo
Hallo Nepumuk,
dein Code funktioniert einwandfrei, aber...
Die Meldung (Frage) erscheint auch, wenn in dem angegebenen Bereich etwas gelöscht wird. Da macht die Meldung aber wenig Sinn.
Kann man die Ausgabe der MsgBox auch so steuern, dass sie nur erscheint, wenn etwas eingetragen wird?
Vielen Dank
der Fredo
Anzeige
AW: Antwort einer MsgBox weiterverarbeiten
13.04.2020 04:57:08
Matthias
Hi
Könnte man auch selbst draufkommen ;-)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E2:E38")) Is Nothing Then
If Target  "" Then Call SerienTermin
End If
End Sub
Gruß Matthias
AW: Antwort einer MsgBox weiterverarbeiten
13.04.2020 08:37:33
Fredo
https://www.herber.de/bbs/user/136664.xlsm
Hallo Matthias L.,
vielen Dank für deinen Hinweis und gleichzeitigem Schlag auf den Hinterkopf.
Ich bin gerade dabei im Selbststudium VBA in ganz kleinen Schritten zu erlernen. Deshalb wirkt sicherlich die ein oder andere Frage etwas unbeholfen. Aber damit muss ich leben.
Dein Code ist super einfach und trotzdem genial. Ich stelle immer wieder fest, dass ich zu kompliziert denke und deswegen manche Dinge verdattele.
Ich habe den Code insofern abgeändert, dass die MsgBox erscheint, wenn der Bereich = "" ist. Dadurch ergibt sich aber das Problem, die MsgBox erschein, sobald eine leere Zelle in dem Bereich ausgewählt wird. Die Meldung soll aber erst erscheine, wenn etwas eingetragen wurde. Denke ich wieder zu kompliziert?
Ich bin bereit für den nächsten Nackenschlag. Die geänderte Datei hängt an.
Vielen Dank schon mal
der Fredo
Anzeige
AW: Antwort einer MsgBox weiterverarbeiten
13.04.2020 08:53:09
Matthias
Hi,
Du hast ja auch in der Datei Worksheet_SelectionChange benutzt und nicht Worksheet_Change.
Gruß Matthias
AW: Antwort einer MsgBox weiterverarbeiten
13.04.2020 11:14:02
Fredo
Hallo Matthias L.,
danke, auch diese kleinen Feinheiten werde ich noch lernen.
Vielen Dank für deine Hilfe und bleib gesund
der Fredo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige