Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Messagebox soll abhängig vom Inhalt einer Zelle erscheinen





Frage

Einen wunderschönen guten Abend zusammen, Ich habe da ein kleines Problem: Ich möchte, dass in dem Feld F22 auf dem Arbeitsblatt 1 ein Benutzername eingegeben wird. Anschließend soll durch Klick auf eine Schaltfläche das nächste Arbeitsblatt aufgerufen werden. Soweit kein Problem. Jetzt will ich aber weiter, dass, falls kein Benutzername eingegeben wird, eine Messagebox erscheint, die dazu auffordert, einen einzugeben. Der Sprung auf das nächste Arbeitsblatt soll dann nicht erfolgen. Nachfolgend nun meine nicht funktionierende VBA-Lösung, da die Messagebox auch erscheint, wenn ein Benutzername eingegeben wird. [code] Sub Seite2() If Range("F22") <> "" Then Sheets("Gruppenphase").Select Range("G4").Select If Range("F22") = "" Then MsgBox "Bitte wähle einen Benutzernamen" & Chr(13) End Sub [/code] Vielleicht kann mir ja jemand einen Tipp geben. Danke schonmal im Voraus, Tobi

Antwort 1 von piano

Hallo
Warum läßt du den Benutzernamen nicht mit einer Inputbox oder UserForm beim Ereignis Workbook_Open eingeben?
Du kannst ihn dann immer noch nach "F22" übertragen.

Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -

Antwort 2 von paddleboy

Klingt gut, weiß aber nicht so richtig, wie das geht. Vielleicht könntest du mir zumindest rudimentär erklären, wie das funktioniert, damit ich von da aus deinem Motto - probieren geht über studieren - folgen kann.

Danke,

Tobi

Antwort 3 von JoeKe

Moin Tobi,

entweder du änderst deine Code so:

Sub Seite2()
If Range("F22") <> "" Then
Sheets("Gruppenphase").Select
Range("G4").Select
Else
MsgBox "Bitte wähle einen Benutzernamen"
End If
End Sub


oder nach @pianos Vorschlag, diesen Code in das VBA-Projekt "DieseArbeitsmappe":

Private Sub Workbook_Open()
Dim Name As String
Eingabe:
Name = InputBox("Geben Sie ihren Benutzernamen an!", Anmeldung)
If Name <> "" Then
Sheets("Gruppenphase").Select
Range("G4").Select
Sheets("Tabelle1").Range("F22") = Name
Else
MsgBox "Sie müssen eine Namen eingeben!"
GoTo Eingabe
End If
End Sub


Um den Code in das VBA-Projekt eingeben zu können, klicke im Projekt-Explorer doppelt auf "DieseArbeitsmappe" und kopier den Code in das sich darauf geöffnete Codefenster. Abschließend die Mappe speichern und schließen. Bei jedem öffnen der Mappe erscheint nun eine InputBox in die ein Name eingegeben werden muss. Der Name wird zusätzlich auf der "Tabelle1" (muss eventuell angepasst werden) in F22 geschrieben.

MfG

JöKe

Antwort 4 von paddleboy

Vielen Dank euch beiden !!!

Antwort 5 von nighty

hi all :)

eine variante

if then else struktur wäre eindeutiger

gruss nighty

Antwort 6 von nighty

ji all :)

ups die hälfte übersehen :(

gruss nighty