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 -
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
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
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
eine variante
if then else struktur wäre eindeutiger
gruss nighty
Antwort 6 von nighty
ji all :)
ups die hälfte übersehen :(
gruss nighty
ups die hälfte übersehen :(
gruss nighty

