Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1580to1584
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

MsgBox aktivieren

MsgBox aktivieren
13.09.2017 10:59:13
Georg
Hallo liebe Excel Fans:
Folgender Code:
Sub Worksheet_Wert()
If ActiveSheet.range("N13").Value > range("Grenze20Proz") Then
MsgBox "Überstundengrenze überschritten! Wenden Sie sich an ihren Vorgesetzen!"
End If
End Sub
Das Makro steht in Modul 1. Es sind Blätter von Jan - Dez da.
Werte werden jedoch in Spalten C, D, G eingetragen, N13 ist ein reines Rechenfeld, "Grenze20Proz" ist ein ExcelName und steht woanders.
Letztendlich: es tut sich nix, wenn N13 größer wird als "Grenze20Proz"? Also keine Ausgabe der MsgBox,woran liegt das? Danke.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: N13 ist ein reines Rechenfeld
13.09.2017 11:10:11
Gerd
Hallo Georg,
nimm das Worksheet_Change des Tabellenblattes.
Der Wirkungsbereich sollte dort auf die maßgeblichen Eingabzellen eingeschränkt werden.
Gruß Gerd
AW: N13 ist ein reines Rechenfeld
13.09.2017 11:18:10
Georg
Hallo Gerd,
ich habe mangels VBA Kenntnisse keine Ahnung was du meinst?
Gruß G
AW: MsgBox aktivieren
13.09.2017 11:14:19
Dennis
Moin,
das Range-Objekt stellt immer nur ein Zellbereich dar. Wenn Grenze20Proz bereits einem Zellbereich hinterlegt wurde müssen die "" weg, ansonsten einen Zellbereich angeben.
Gruß
Dennis
AW: MsgBox aktivieren
13.09.2017 11:31:10
Gerd
Hallo Georg,
vorausgesetzt in N13 steht eine Formel, kopiere mal dies ins Codefenster der Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("C2:C99,D2:D99,G2:G99"), Target) Is Nothing Then Exit Sub
If Range("N13").Value > Range("Grenze20Proz") Then
MsgBox "Überstundengrenze überschritten! Wenden Sie sich an ihren Vorgesetzen!"
End If
End Sub
Gruß Gerd
Anzeige
AW: MsgBox aktivieren
13.09.2017 11:46:48
Georg
Hallo Gerd, ich bin glaube ich zu blöd für VBA:
In dem Blatt (mom. nur Januar) steht schon ein Code:
Private Sub Worksheet_Change(ByVal Target As range)
If Target.Column = 11 Then
If Target.Row >= 6 And Target.Row  1 Then
MsgBox "Mehrachselektion ist nicht zulässig."
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = False
Exit Sub
End If
Select Case Target.Value
Case Is = "AU ganztägig", "AU untertägig", "Urlaub"
range(Cells(Target.Row, 4), Cells(Target.Row, 6)).ClearContents
Case Else
End Select
End If
End If
End If
End Sub
Natürlich sagt Excel, wenn ich deinen Code einfüge..mehrdeutiger Name oder so. Wie löse ich das? Ich denke, grundsätzlich würde er funktionieren.
Danke.
Anzeige
es gibt nur ein Change-Event (Ereignis)
13.09.2017 12:16:56
Matthias
Hallo
Du musst beides in das Worksheet_Change Event packen
Desweiteren machst Du hier einen Fehler!
If Target.Count > 1 Then
MsgBox "Mehrachselektion ist nicht zulässig."
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = False '? das sollte True werden!
Exit Sub
End If
Gruß Matthias
AW: es gibt nur ein Change-Event (Ereignis)
13.09.2017 12:43:24
Georg
Es geht!!DANKE an alle Helfer!
AW: MsgBox aktivieren
13.09.2017 12:38:43
Gerd
Hallo Georg,
mal drübergehuscht:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 Or Not Intersect(Range("C2:C99,D2:D99,G2:G99"), Target) Is Nothing Then
Application.EnableEvents = False 'Rekursion abschalten
'erste Alternative
If Target.Column = 11 Then
If Target.Row >= 6 And Target.Row  1 Then
MsgBox "Mehrachselektion ist nicht zulässig."
Application.Undo
Else
Select Case Target.Value
Case Is = "AU ganztägig", "AU untertägig", "Urlaub"
Range(Cells(Target.Row, 4), Cells(Target.Row, 6)).ClearContents
Case Else
End Select
End If
End If
'zweite Alternative
ElseIf Range("N13").Value > Range("Grenze20Proz") Then
MsgBox "Überstundengrenze überschritten! Wenden Sie sich an ihren Vorgesetzen!"
End If
End If
Application.EnableEvents = True
End Sub
Gruß Gerd
Anzeige
AW: MsgBox aktivieren
13.09.2017 12:44:21
Georg
Hallo Gerd, danke es geht!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige