Office: Excel Zellenwert automatisch zurücksetzen

Helfe beim Thema Excel Zellenwert automatisch zurücksetzen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, leider weiß ich nicht wie ich die Frage korrekt stellen sollte, deswegen einmal anhand eines Beispiels erklärt. Angenommen die Kaltmiete... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von TilH47, 5. April 2023.

  1. TilH47 Neuer User

    Excel Zellenwert automatisch zurücksetzen


    Hallo, leider weiß ich nicht wie ich die Frage korrekt stellen sollte, deswegen einmal anhand eines Beispiels erklärt.

    Angenommen die Kaltmiete beträgt 300€ und die Nebenkosten100€, dies ist die Soll Miete. Nun möchte ich für alle Monate die Ist Kosten Monat für Monat eintragen und überprüfen ob zu viel oder zu wenig gezahlt wurde im Monat Januar hat Ist Kaltmiete G4 und Ist Nebenkosten G5.

    Mein Wunsch wäre, dass ich wenn beispielweise Herrn Meier mir 360€ überweist, ich die 360€ in G4 eintrage und die Differenz von 360 und 300 in G5 angezeigt wird, G4 sich allerdings auf die 300€ Kaltmiete zurücksetzt. Sprich ich gebe in G4 360€, drücke Enter und in G4 soll dann 300€ stehen und in G5 60€. Sollte der überwiesene Betrag unter 300€ fallen (Beispiel 200€) soll dieser dann in G4 angezeigt werden und G5 = 0 stehen.
    Wichtig ist, dass sich G4 nach dem Eintragen des Wertes selbst wieder umändert, dennoch die Differenz der beiden Werte in G5 erscheint.

    Ich könnte diese Rechnung natürlich in einfacher Form mit einer neuen Spalte ganz einfach darstellen, in welcher in dann die Ist Überweisung einsetze und die Zellen dann abgleichen lasse. Da es in meinem Kopf dann aber nicht so charmant aussieht, wollte ich Fragen ob es möglich wäre das oben genannte Beispiel nur mit den Zellen G4 und G5 durch Formeln umzusetzen.


    Ich bin sehr dankbar für jegliche Art von Rückmeldung.
     
    TilH47, 5. April 2023
    #1
  2. Doming
    Doming Erfahrener User
    Moin,
    ja, das geht, mit VBA.
    Zellenaktualisierung überwachen und bei Eingabe Wert aufteilen.
    Musst dann mit der Dateiendung .xlsm leben.
     
    Doming, 6. April 2023
    #2
  3. Doming
    Doming Erfahrener User
    So, hier der Code (unter VBA in die Tabelle1 schreiben):
    Code:
    Option Explicit
    
    Private Einmalreicht As Boolean
    
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim Betrag As Double
        With Target
            If Einmalreicht Then
                Einmalreicht = False
                Exit Sub
            End If
            If Intersect(Target, Range("G4")) Then
                Einmalreicht = True
                Betrag = .Value
                If Betrag > 300 Then
                    Cells(4, 7) = 300
                    Einmalreicht = True
                    Cells(4, 8) = Betrag - 300
                Else
                    Cells(4, 8) = 0
                End If
            End If
        End With
    End Sub
     
    Doming, 6. April 2023
    #3
  4. HKindler
    HKindler Erfahrener User

    Excel Zellenwert automatisch zurücksetzen

    Hi,

    in Excel sollte man an solche Spielereien erst gar nicht denken. Eingabezelle ist Eingabezelle und Ausgabezelle ist Ausgabezelle. Alles andere führt früher oder später ins Chaos. Daher: Auch wenn es in deinem "Kopf dann aber nicht so charmant aussieht", mach es so! Aussehen ist zweitrangig.

    @Doming: wozu diese Klimmzüge mit Einmalreicht? Genau dafür gibt es Application.EnableEvents
    Außerdem steigt deine Routine aus wenn mehr als eine Zelle geändert wird. Denn dann wird in deiner Zeile
    Betrag = .Value versucht einer Double-Variable ein Array zuzuweisen. Das lässt direkt den Debugger anspringen.
    Außerdem führt deine Bedingung If Intersect(Target, Range("G4")) Then in die Irre, denn hier wird nicht überprüft, ob G4 geändert wurde, sondern es wird Versucht den Inhalt der Schnittmenge auf True oder False zu testen. Gibt es keine Schnittmenge kommt prompt wieder der Debugger. Gibt es die Schnittmenge, denn wird von dieser, also von G4, Inhalt überprüft. Ist der True, sprich ungleich 0, dann werden die folgenden Befehle abgearbeitet.
    Noch eins: Wenn in G4 etwas anderes als eine Zahl eingegeben wird, steigt deine Routine aus.
    Fazit: Deine Routine ist in dieser Form unbrauchbar. Hier mein Vorschlag, der mit mehreren gleichzeitig geänderten Zellen klar kommt, auf jede geänderte Zelle in Spalte G regiert und auch nicht aussteigt, falls keine Zahl eingegeben wird:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bereich As Range
    Dim Zelle As Range
    Set Bereich = Intersect(Target, Range("G:G"))
    If Not Bereich Is Nothing Then
        For Each Zelle In Bereich
            If IsNumeric(Zelle) Then
                Zelle.Offset(, 1) = Application.Max(0, Zelle - 300)
                Application.EnableEvents = False
                    Zelle = Application.Min(300, Zelle)
                Application.EnableEvents = True
            End If
        Next Zelle
    End If
    End Sub
    @TilH47: auch wenn meine Routine funktionier, würde ich dir trotzdem den ersten Abschnitt meines ans Herz legen: Verwende eine eigene Eingabe-Zelle. Zumal du doch sicherlich sowieso irgendwo die Gesamtsumme sehen willst.
     
    HKindler, 6. April 2023
    #4
Thema:

Excel Zellenwert automatisch zurücksetzen

Die Seite wird geladen...
  1. Excel Zellenwert automatisch zurücksetzen - Similar Threads - Excel Zellenwert automatisch

  2. Excel Blattschutz & Power Query – bestimmte Zellen freigeben, aber Aktualisierung weiterhin erlauben

    in Microsoft Excel Hilfe
    Excel Blattschutz & Power Query – bestimmte Zellen freigeben, aber Aktualisierung weiterhin erlauben: Hallo miteinander, ich experimentiere gerade mit dem Blattschutz in Excel und bin auf ein paar Herausforderungen gestoßen, bei denen ich eure Unterstützung brauchen könnte. 1) Funktioniert schon...
  3. VBA - Ausblenden aller Tabellenblätter außer X

    in Microsoft Excel Hilfe
    VBA - Ausblenden aller Tabellenblätter außer X: Guten Morgen, ich bin ziemlicher VBA Neuling und habe aktuell Probleme mit einer Datei, die ich entwickelt habe. Zu der Datei: Es handelt sich um Daten, auf die lediglich ein bestimmter...
  4. Überschneidungen von Zeiten automatisch erkennen

    in Microsoft Excel Hilfe
    Überschneidungen von Zeiten automatisch erkennen: Hallo zusammen, in der eingefügten Tabelle sind verschiedene Module angelegt, die von unseren Schülern belegt werden können. Sie können an einem Tag an mehreren Modulen teilnehmen, auch mehrfach...
  5. Kamera in Excel einbinden und per vba Fotos erstellen

    in Microsoft Excel Hilfe
    Kamera in Excel einbinden und per vba Fotos erstellen: Kamera in Excel einbinden Hallo, ich suche einen Code für eine UserForm, mit der ich die integrierte Kamera des WinPC in der UserForm anzeigen lassen kann und davon ein Bild sichern kann.
  6. Excel Sheet in Access einbinden mit acOLECreateLink

    in Microsoft Access Hilfe
    Excel Sheet in Access einbinden mit acOLECreateLink: Hallo Leute :-) ich versuche gerade seit Tagen folgendes Problem zu lösen: in einem Bericht soll ich Daten aus Access, danach Fotos und zum Schluß quasi Screenschots aus Excel darstellen. Das...
  7. Excel Zellenwert aus vorgegebenen Bereich ohne Wiederholung wiedergeben

    in Microsoft Excel Hilfe
    Excel Zellenwert aus vorgegebenen Bereich ohne Wiederholung wiedergeben: Guten Tag, ich bin derzeit dabei mir ein Tabellenblatt aufzubauen, wo ich anhand von Fußballergebnissen mir ein simples Auslosungstool anhand einfacher Formeln baue. Nun bin ich aber beim...
  8. Zellenwert um +1 erhöhen

    in Microsoft Excel Hilfe
    Zellenwert um +1 erhöhen: Hallo, Meine Frage bezieht sich auf ein Zahlenwert welcher in einer Zelle steht, diese Zelle ist mit einem Diagramm verknüpft und beschreibt eine Parabel. Nun würde ich gerne wissen ob es möglich...
Schlagworte:
  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