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

Anzeige eines Hinweises

Anzeige eines Hinweises
09.06.2009 17:28:30
Markus
Hallo zusammen,
ich würde gerne in meinem Excel Formular bei einer bestimmten Konstellation einen Hinweis einblenden lassen. Die folgenden Kriterien (welche beide zutreffen müssen) sind a) ab einem Betrag von über 3.000€ (Zelle B18) und b) bei dem Begriff "Zubehör" (B25). Nun habe ich allerdings im Feld B25 die Gültigkeitsabfrage bereits mit anderen Kriterien gefüllt, so das ich hier keine Möglichkeit mehr habe. Über VBA habe ich ja die Möglichkeit mir eine MsgBox anzeigen zu lassen. Aber wie bekomme ich diese MsgBox nach Auswahl (Gültigkeitsdropdown) oder Eingabe des Wortes "Zubehör" zum laufen. Ich bekomms nicht hin.
Danke für die Hilfe!
Markus

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige eines Hinweises
09.06.2009 18:06:29
Peter
Hallo Markus,
in das Klassenmodul des dazugehörigen Tabellenblattes folgenden Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$B$25" Then
If Target.Value = "Zubehör" And _
IsNumeric(Range("B18").Value) And _
Range("B18").Value > 3000 Then
MsgBox "Der Wert in Zelle B18 ist größer als 3.000" & Chr(10) & _
"und in Zelle B25 steht ""Zubehör"".", _
64, "   Hinweis für " & Application.UserName
End If
End If
End Sub


Gruß Peter

Anzeige
AW: Anzeige eines Hinweises
09.06.2009 18:16:15
Markus
Hallo Peter,
Danke für die schnelle Antwort. Funktioniert bestens!!
Danke und Grüße
Markus
AW: Anzeige eines Hinweises
09.06.2009 18:09:15
Peter
Hallo Markus,
ich habe gerade gesene: VBA nein
Also:
Rechtsklick auf den Tabellenblattreiter
Linksklick auf Code anzeigen
In das sich öffnende rechte (große) Fenster das Makro kopieren
Mit Schließen-Kreuz beenden
Testen.
Gruß Peter
AW: Anzeige eines Hinweises
09.06.2009 18:53:27
Markus
Hallo Peter,
nochmals Danke das Du nach meinem Level geschaut hast. Ich hatte mal "bescheiden" eingetragen, aber nachdem ich hier so viele Beiträge von Leuten gesehen habe die auch diesen Level eingetragen hatten und ich dort schon nicht mehr folgen konnte, musste ich mir eingestehen, dass meine Kenntnisse noch nicht mal mehr für "bescheiden" durchgehen. Sehs mir bitte nach :-)
Aber wenn ich schonmal schreibe, habe ich doch noch ne Frage. Wenn ich jetzt noch ein weiteres Kriterium einbaue das mir diesen Hinweis nur anzeigen soll, wenn die Zahlen 3,4,5,8,9,10 in Zelle A29 eingeblendet werden, wie mache ich das?
Hoffentlich schauste nochmal......
Gruß Markus
Anzeige
AW: Anzeige eines Hinweises
09.06.2009 20:30:07
Peter
Hallo Markus,
dann versuch es so:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$B$25" Then
If Target.Value = "Zubehör" And _
IsNumeric(Range("B18").Value) And _
Range("B18").Value > 3000 And _
Range("A29").Value > 2 And Range("A29").Value  7 And Range("A29").Value 


Gruß Peter

AW: Anzeige eines Hinweises
09.06.2009 20:37:57
Peter
Hallo Markus,
vielleicht ist es so etwas 'eleganter'
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$B$25" Then
If Target.Value = "Zubehör" And _
IsNumeric(Range("B18").Value) And _
Range("B18").Value > 3000 Then
Select Case Range("A29").Value
Case 3 To 5, 8 To 10
MsgBox " In Zelle B25 steht ""Zubehör"" und" & Chr(10) & _
"der Wert in Zelle B18 ist größer als 3.000" & Chr(10) & _
"und in Zelle A29 steht der Wert """ & Range("A29").Value & """.", _
64, "   Hinweis für " & Application.UserName
End Select
End If
End If
End Sub


Gruß Peter

Anzeige
AW: Anzeige eines Hinweises
09.06.2009 21:13:38
MarkusZiegler277@gmx.de
Hallo Peter,
schön das Du nochmal geschaut hast. Werde es Morgen gleich ausprobieren und melde mich dann. Wird aber bestimmt funktionieren.
Danke
Markus
AW: Anzeige eines Hinweises
10.06.2009 09:49:03
Markus
Guten Morgen Peter,
habe es getestet und es funktioniert :-). Danke dafür! Habe aber noch ne Frage....komm mir schon wie Columbo vor, aber leider fällt mir sowas immer erst beim testen ein. Besteht die Möglichkeit, dass ich die Felder variabel gestallte? Bedeutet, wenn ich z.B. den Betrag in Feld B18 nachträglich veränder und der Betrag wird dadurch kleiner als 3000, dann bekomme ich ja keinen Hinweis eingeblendet, denn mein Bezug "Zubehör" hat sich nicht verändert. Erst wenn ich nochmals "Zubehör" eingebe, dann erscheint die MsgBox. Vom Prinzip ist der Ablauf die chronologische Abarbeitung der einzelnen Felder, aber der Mensch ist immer kreativ. Schonmal Danke für die bisherige Hilfe!!
Grüße
Markus
Anzeige
AW: Anzeige eines Hinweises
10.06.2009 10:28:36
Peter
Hallo Markus,
ich hoffe, dich richtig verstanden zu haben - es soll der Hinweis erscheinen, wenn eine der drei Zellen (A29, B18, B25) verändert wird.
Dann versuch es so:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Count > 1 Then Exit Sub
   If Target.Address = "$B$25" Then
      If Target.Value = "Zubehör" And _
         IsNumeric(Range("B18").Value) And _
         Range("B18").Value > 3000 Then
         Select Case Range("A29").Value
            Case 3 To 5, 8 To 10
            GoSub Hinweis_Ausgeben
         End Select
      End If
   ElseIf Target.Address = "$B$18" Then
      If IsNumeric(Target.Value) And _
         Target.Value > 3000 Then
         If Range("B25").Value = "Zubehör" Then
            Select Case Range("A29").Value
               Case 3 To 5, 8 To 10
               GoSub Hinweis_Ausgeben
            End Select
         End If
      End If
   ElseIf Target.Address = "$A$29" Then
      Select Case Target.Value
         Case 3 To 5, 8 To 10
         If Range("B25").Value = "Zubehör" And _
            IsNumeric(Range("B18").Value) And _
            Range("B18").Value > 3000 Then
            GoSub Hinweis_Ausgeben
         End If
      End Select
   End If
   Exit Sub
Hinweis_Ausgeben:
   MsgBox " In Zelle B25 steht ""Zubehör"" und" & Chr(10) & _
      "der Wert in Zelle B18 ist größer als 3.000" & Chr(10) & _
      "und in Zelle A29 steht der Wert """ & Range("A29").Value & """.", _
      64, "   Hinweis für " & Application.UserName
Return
End Sub 


Gruß Peter
Anzeige
AW: Anzeige eines Hinweises
10.06.2009 13:26:16
Markus
Hallo Peter,
ich hab`s jetzt mal getestet. Wenn ich die Felder "B25 Zubehör" und "B18 Betrag" ändere, dann bekomm ich die Meldung angezeigt. Das Feld "A29" ist ein Ergebnisfeld. Dieses kann nicht manuell geändert werden. Es wird durch vorherige Eingaben berechnet und ermittelt. Wenn nun beide Kriterien zutreffen, "B25 Zubehör" und "B18 kleiner als 3000", aber das Ergebnis 3,4,5 oder 8,9,10 ist, dann bekomme ich keinen Hinweis. Es wäre aber schön wenn einer kommen würde. Woran könnte das liegen?
Grüße
Markus
AW: Anzeige eines Hinweises
10.06.2009 14:40:50
Peter
Hallo Markus,
das liegt eben daran, dass A29 nicht manuell geändert wird, sondern durch Formel o. ä. ermittelt wird.
Das wird vom Change-Ereignis nicht registriert - nur die manuellen Änderungen zählen.
Gruß Peter
Anzeige
AW: Anzeige eines Hinweises
10.06.2009 14:49:02
Markus
Hallo Peter,
hab sowas schon vermutet. Aber mit der jetzigen Hilfe kann ich sehr gut arbeiten und leben. Dank Dir nochmals für Deine Hilfe und die Geduld!
Grüße
Markus
AW: Anzeige eines Hinweises
10.06.2009 17:24:04
Markus
Hallo Peter,
vielleicht schauste nochmal. Was gebe ich denn ein, wenn ich nur ein Feld abfragen/überwachen und dann ggfs. einen Hinweis per MsgBox ausgeben möchte. In diesem Fall ein Feld, dass per Eingabe gefüllt wird. Habe nämlich oft das Problem, dass ich die Gültigkeitsabfrage bereits in Anspruch genommen habe.
Grüße
Markus
AW: Anzeige eines Hinweises
12.06.2009 14:20:01
Markus
Hallo,
also, hab`s dann rausgefunden.......Is vielleicht nicht die sauberste Lösung, aber es funktioniert und ich hab es dann hingebastelt. Lösung sieht dann so aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MSG_Bereich As Range
Set MSG_Bereich = Range("B6") 'Bereich für die Info
If Not Target = "56B" Then Exit Sub 'Abfrage der Eingabe
If Target.Value = "56B" Then
MsgBox " Achtung! Falls ..........!", _
64, "   Hinweis für " & Application.Username
End If
End Sub


Grüße Markus

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige