Office: (Office 365) Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung

Helfe beim Thema Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe mit etwas verheddert und hoffe auf Eure Hilfe. Die Felder B111 und B112 sind zu Beginn LEER. B111 bietet ein Dropdown-Menü... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von schwaelbchen, 22. November 2024.

  1. Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung


    Hallo zusammen,

    ich habe mit etwas verheddert und hoffe auf Eure Hilfe.

    Die Felder B111 und B112 sind zu Beginn LEER.

    B111 bietet ein Dropdown-Menü an, welches im Falle der Auswahl "Angebot mit Preis" darauf verweisen soll in B112 eine Zahl einzugeben … andernfalls soll der Text "gemäß beiliegenden Stundensätzen" in B112 angezeigt werden.

    Soweit so gut, jedoch möchte ich die Eingabe in B112 BEIM VERLASSEN der Zelle jedoch zur Sicherheit noch mal wie folgt prüfen lassen:

    Wenn in B112 eine Zahl enthält und in B111 der Text steht "Angebot mit Stundensätzen", soll erscheinen: MsgBox "Bitte nur eine Zahl eingeben !", vbCritical
    bzw.
    Wenn in B112 eine Text enthält und in B111 der Text steht "Angebot mit Betrag", soll erscheinen: MsgBox "Bitte nur einen Text eingeben oder Art des Angebot-Preises ändern !", vbCritical

    Darüber hinaus soll nochmals eine Aktion und Prüfung stattfinden, wenn zuvor alles korrekt gewählt und eingegeben wurde und man in B111 per Dropdown die jeweilige andere Option wählt, da dann der Eintrag in B112 ja falsch ist.


    Danke für Eure Hilfe im Voraus.
    Jens



    Hier mal mein bisheriger Code:

    Code:
    Sub Worksheet_Change(ByVal Target As Excel.Range)
    
    If Target.Address = "$B$111" And Sheets("Eingabe").Range("B112") <> "" Then
        ActiveSheet.Range("B112").FormulaLocal = "=WENN(B111="""";"""";WENN(B111=""Angebot mit Betrag"";""Bitte einen Betrag eingeben !"";""gemäß beiliegenden Stundensätzen""))"
        Range("B112").Select
        MsgBox "Bitte gib nach dieser Änderung ggf. erneut einen Preis für das Angebot ein !", , "Achtung, bitte Eingabe korrigieren !"
        
            If Not IsNumeric(Sheets("Eingabe").Range("B112")) And Sheets("Eingabe").Range("B111") = "Angebot mit Betrag" Then
            MsgBox "Bitte nur eine Zahl eingeben !", vbCritical
            Range("B112").Select
            Else
            End If
        Else
            If IsNumeric(Sheets("Eingabe").Range("B112")) And Sheets("Eingabe").Range("B111") = "Angebot mit Stundensätzen" Then
            'ActiveSheet.Range("B112").FormulaLocal = "=WENN(B111="""";"""";WENN(B111=""Angebot mit Betrag"";""Bitte einen Betrag eingeben !"";""gemäß beiliegenden Stundensätzen""))"
            MsgBox "Bitte nur einen Text eingeben oder Art des Angebot-Preises ändern !", vbCritical
            Range("B112").Select
            End If
    End If
     
    schwaelbchen, 22. November 2024
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    nur das umgesetzt was im Beitrag Stand

    Code:
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$B$112" Then
            If IsNumeric(Target) And Target.Offset(-1, 0) = "Angebot mit Stundensätzen" Then
                MsgBox "Bitte nur eine Zahl eingeben !", vbCritical, "keine Zahl"
          ElseIf Not IsNumeric(Target) And Target.Offset(-1, 0) = "Angebot mit Betrag" Then
                MsgBox "Bitte nur einen Text eingeben oder Art des Angebot-Preises ändern !", vbCritical, "Bitte Text"
          End If
        End If
    End Sub
    
    Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung GrußformelZelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung Homepage
     
  3. Danke lieber Hajo,
    ich habe Deine Codezeilen einarbeiten können.

    Wie könnte mal den Code noch verfeinern, um nach Anzeige der MsgBox den User so lange "in der Zelle zu halten", bis er den richtigen Wert einträgt ?
    Mir fiele da nur Application.SendKeys ("{F2}") ein.
    Wobei mal dann zudem auch die ESC-Taste deaktivieren müsste.
     
    Zuletzt bearbeitet: 22. November 2024
    schwaelbchen, 22. November 2024
    #3
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung

    soweit mir bekannt ist bei MsdNox leine Eingbe möglich. Das Musste man mit UserForm lösen, Shomodal ändern.

     
  5. Hallo zusammen, ich habe es nun wie folgt gelöst, um bei einem falschen Wert den Benutzer immer wieder in die fehlerhafte Zelle zurückzuholen.


    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

    Dim cellValue As Variant
    cellValue = Range("B112").Value

    ' Prüfen, ob der Wert in B112 keine Zahl ist und der Text in B111 "Angebot mit Betrag" ist
    If Not IsNumeric(cellValue) And Sheets("Eingabe").Range("B111").Value = "Angebot mit Betrag" Then
    MsgBox "Bitte um die korrekte Eingabe einer Zahl !"
    Sheets("Eingabe").Range("B112").Select ' Zelle B112 wird ausgewählt, um Benutzerführung zu bieten

    ' Prüfen, ob der Wert in B112 eine Zahl ist und der Text in B111 "Angebot mit Stundensätzen" ist
    ElseIf IsNumeric(cellValue) And Sheets("Eingabe").Range("B111").Value = "Angebot mit Stundensätzen" Then
    MsgBox "Bitte um die korrekte Eingabe eines kurzen Textes !"
    Sheets("Eingabe").Range("B112").Select ' Zelle B112 wird erneut ausgewählt

    End If
     
    schwaelbchen, 24. November 2024
    #5
  6. RPP63_neu
    RPP63_neu Erfahrener User
    Warum VBA?
    Benutzerdefinierte Datengültigkeit kann das auch, sogar mit "MsgBox".

    Gruß Ralf
     
    RPP63_neu, 24. November 2024
    #6
  7. VBA weil "B112", je nach Auswahl des Dropdowns in "B111" eine Zahl oder einen Text enthalten kann ... und beide Möglichkeiten wohl nicht per Datengültigkeit handelbar ist.
     
    schwaelbchen, 24. November 2024
    #7
Thema:

Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung

Die Seite wird geladen...
  1. Zelle per VBA auf ihren Inhalt prüfen und reagieren sowie bei Änderung - Similar Threads - Zelle VBA Inhalt

  2. zeilenweise Zellen per VBA verbinden

    in Microsoft Excel Hilfe
    zeilenweise Zellen per VBA verbinden: Guten Morgen zusammen, ich möchte beginnend ab der Zeile/Zelle A29 den Bereich A29:E29 per MERGE verbinden sowie jeweils zeilenweise eine individuelle Anzahl an Zeilen im jeweils gleichen Bereich...
  3. Zellen aus Aktiver Zeile kopieren

    in Microsoft Excel Hilfe
    Zellen aus Aktiver Zeile kopieren: Hallo zusammen, im Grunde genommen ist es wohl ganz einfach … ich weiss es aber trotzdem nicht wie es in VBA umsetze. Ich will aus einer „Aktiven Reihe“ (diese wähle ich vorher über einen...
  4. [EILT] Bestimmte Inhalte einer Zelle in eine andere Zelle kopieren und die Anzahl ausrechnen

    in Microsoft Excel Hilfe
    [EILT] Bestimmte Inhalte einer Zelle in eine andere Zelle kopieren und die Anzahl ausrechnen: Hallo zusammen, ich muss dringend bis Montag eine Liste fertigstellen, dass folgendes beinhaltet: Alle Mailadressen, die in der Zeile A2 sind, müssen untersucht werden und die Mailadressen mit...
  5. Komischer Zahlen in der GUI + VBA bestimmte Zellen mit gewissen Inhalt nicht löschen

    in Microsoft Excel Hilfe
    Komischer Zahlen in der GUI + VBA bestimmte Zellen mit gewissen Inhalt nicht löschen: Hallo, ich bin neu hier im Forum, also bitte ich um Verständnis, wenn dies hier nicht der richtige Platz für dieses Thema ist. Ich habe 2 Anliegen. Auf dem ersten Bild könnt ihr die besagten...
  6. Inhalte farbige Zellen in anderes Blatt kopieren, Excel07 und VBA

    in Microsoft Excel Hilfe
    Inhalte farbige Zellen in anderes Blatt kopieren, Excel07 und VBA: Moin Moin, ich bin im VBA noch recht neu und benötige dringend einen Anstoß, wie ich folgendes Problem umsetzen kann. Die erste Zeile eines Zellenbereiches (ca.60 Spalten und 2000 Zeilen) soll...
  7. Per VBA Zellen mit Inhalt färben

    in Microsoft Excel Hilfe
    Per VBA Zellen mit Inhalt färben: Hi zusammen, ich hab ein Makro welches an für sich tut was es soll, bei bestimmten Zellinhalten soll es färben^^ Nun zu meinem Prob. Gibt es ne Möglichkeit, dass hier das Makro bei Klein- bzw....
  8. VBA Löschen von Zellen mit Inhalt

    in Microsoft Excel Hilfe
    VBA Löschen von Zellen mit Inhalt: Guten Morgen, ich habe ein folgendes Problem. Habe schon in mehreren Foren über mein Problem gesucht, aber nichts passendes gefunden. Ich habe eine Spalte "j" ab "9" in der mit Hilfe eines...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden