Clever-Excel-Forum

Normale Version: Dropdown Auswahl - Prüfung per VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

bis heute war ich nur stiller Mitleser, jetzt brauche ich jedoch auch eure Hilfe! 

In meiner Beispieldatei wird im Reiter Personalplanung mit einem VBA Code per Dropdown ein Wert ausgewählt.
Das funktioniert super. Nun möchte ich jedoch die Auswahl des Wertes prüfen.

Wenn zum Beispiel die Zahl 6 in der Zeile 15 gewählt wird, soll im Reiter Hilfsmatrix 3 in der Spalte H (welche für die 6 steht) in Zeile 15 der Wert geprüft werden. Ist dieser über 60 oder die Zelle leer soll eine MsgBox erscheinen mit einem Hinweis.

Ich habe Probleme die If-Logik in das bestehende Makro einzubetten, da dieses nicht von mir ist.

Es wäre stark wenn hier jemand unterstützen könnte oder einen Ansatz hat wie sich dies umsetzen ließe.

 
Danke und Grüße
Hi

Erstens
Hier im Forum hilft man einander gegenseitig.
Bitte hilf auch Du Leuten mit ähnlicher Problemen, wie zB hier:
Zulu 18.05.2020
und sag ihnen, dass sie hier gucken sollen.
Damit sich dort keine Paralleldiskussion entwickelt.

Zweitens
Einträge, wie Du sie beschreibst, werden bereits einer Prüfung von Hilfsmatrix 3 unterzogen.
Außerdem sind sie durch eine eingebaute Datenüberprüfung beschränkt.
Im Makro fügst Du einfach vor "Set objCell = Tabelle6.Colu..." eine Prüfung mit Tabelle7 (Hilfsmatrix 3)  ein.

Drittens
Wenn Du mit "Zweitens" nicht klar kommst, melde Dich nochmals und beschreibe, wo genau Du Probleme mit der "Einbettung der If-Logik" hast.

Aber vergiss "Erstens" nicht.

Raoul
Hallo,

danke für deine Rückmeldung.

zu erstens: 
Ich helfe gerne. Jedoch würde ich mich dann auf Excel beschränken da ich bei VBA nur über gefährliches Halbwissen verfüge....
Was den Post angeht. Den hatte ich erstellt. Da es hier leider zu keinem Feedback kam, wollte ich den Kreis der möglichen Helfer erweitern.

zweitens: 
Die Einträge werden einer Prüfung in Hilfsmatrix 2 unterzogen. Es sind nur Werte im Dropdown auswählbar welche in der jeweiligen Zeile in Hilfsmatrix 2 stehen. 
Ich möchte jetzt den Wert der Zelle in Hilfsmatrix 3, welcher sich in der gleichen Zeilennummer und in der Spalte der ausgewählten Zahl befindet, prüfen.

Mein Ansatz:
Ich vermute die entsprechende Zeile ist in Target.Row hinterlegt. Dann müsste der Wert der geänderten Zelle erfasst werden und in der Zeile 1 Hilfsmatrix 3 gesucht werden. Die Spalte aus dem Suchergebnis und die Zeile aus Target.Row ergeben dann die gesuchte Zeile, bei welcher der Wert mit einer If Logik geprüft wird und das Ergebnis per MsgBox ausgegeben wird. 
Ich denke die If-Logik bekomme ich selber erstellt. Der Weg dahin ist für mich leider eine BlackBox  :20:

Danke im Voraus für jegliche Unterstützung
Hallo Erdna,


Zitat:zu erstens: 
Ich helfe gerne. Jedoch würde ich mich dann auf Excel beschränken da ich bei VBA nur über gefährliches Halbwissen verfüge....
Was den Post angeht. Den hatte ich erstellt. Da es hier leider zu keinem Feedback kam, wollte ich den Kreis der möglichen Helfer erweitern.
was dir Raoul sagen wollte, ist, dass du, wenn du schon gleichzeitig in anderen Foren dieselbe Frage stellst, diese gegenseitig verlinkst, damit die Helfer sich über den Stand der Hilfe erkundigen können. Zum Verständnis lies doch bitte den Beitrag hinter diesem Link: https://www.clever-excel-forum.de/misc.php?action=help&hid=10
Hallo Erdna,

folgender Code kommt zusätzlich zu dem anderen in das VBA-Modul der Tabelle1 (Personalplanung):
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim varTemp As Variant
  If Target.Count = 1 Then
    If Not Intersect(Target, Range("C12:L67")) Is Nothing Then
      With Tabelle7
        On Error Resume Next
        varTemp = Application.Match(Target.Value, Tabelle7.Rows(1), 0)
        On Error GoTo 0
        If IsError(varTemp) Then
          MsgBox "Es wurde kein Verweis gefunden!", vbInformation
        Else
          Select Case Application.Intersect(.Rows(Target.Row), .Columns(varTemp))
            Case ""
              MsgBox "Der Verweis ist leer!", vbInformation
            Case Is > 60
              MsgBox "Der Verweis ist größer als 60!", vbInformation
          End Select
        End If
      End With
    End If
  End If
End Sub
Gruß Uwe
Hallo Uwe,

ich glaube, dass ist genau das, was ich gesucht habe!   
Bin leider bereits im Feierabend und kann den Code erst am Montag in der Original Datei prüfen. Du hast mir super weitergeholfen!
Ich trinke morgen ein Bierchen auf dich mit Wink

Grüße Erdna