Gibt es eine Möglichkeit, in Excel „Standardwerte“ oder „Platzhalterwerte“ zu haben?

Gibt es eine Möglichkeit, in Excel „Standardwerte“ oder „Platzhalterwerte“ zu haben?

Ich habe eine Tabelle mit Zellen, die vom Benutzer bearbeitet werden können sollen, in denen aber auch „Standard“- oder „Platzhalter“-Werte enthalten sein sollen, wenn keine vom Benutzer eingegebenen Daten vorhanden sind. Dafür gibt es einige gute Anwendungsfälle:

  • Verhindern Sie Formelfehler und treffen Sie gleichzeitig vernünftige Annahmen, wenn ein Benutzer keinen eigenen Wert eingegeben (oder gelöscht) hat.
    • Ich könnte eine bedingte Formatierung verwenden, um den Benutzer auf Standardwerte aufmerksam zu machen und so zu verhindern, dass er diese ignoriert. Er kann dann eine fundierte Entscheidung darüber treffen, ob dieser Wert für die beabsichtigten Berechnungen noch geeignet ist oder nicht.
  • Geben Sie eine kurze Beschreibung dessen an, was in die Zelle eingegeben werden soll, ohne dass ein separates „Anweisungs“-Segment oder -Dokument erforderlich ist. Dadurch wird in einigen Fällen, in denen dies wirklich nicht angebracht ist, auch die Notwendigkeit einer nahegelegenen „Beschriftungs“-Zelle eliminiert.

Um mein Ziel zu erreichen, benötige ich eine Formel, ein Skript oder eine andere erweiterte Tabellenkalkulationsoption, die Folgendes ermöglicht:

  • Zeigt den Standardwert in der Zelle an, bevor der Benutzer Daten eingibt.
  • Erlaubt, dass der Standardwert von allen Formeln ermittelt wird, die auf die Zelle verweisen, wenn in dieser Zelle keine vom Benutzer eingegebenen Daten vorhanden sind.
  • Erlauben Sie dem Benutzer, den angezeigten Wert beliebig (natürlich genau so, wie er es bei jeder „normalen“ Zelle tun würde) durch seinen eigenen Wert oder seine eigene Formel zu überschreiben und die vom Benutzer eingegebenen Daten von allen Formeln finden zu lassen, die auf die Zelle verweisen.
  • Wenn die Zelle durch Löschen der Benutzereingabe geleert wird, wird auf den Standardwert zurückgesetzt.

Gibt es eine Möglichkeit, dies in Excel zu tun, oder verlange ich hier zu viel von einem Tabellenkalkulationsprogramm?

Antwort1

Es gibt hierfür keine integrierte Möglichkeit, Sie müssen Ihre eigene erstellen.

Eine Möglichkeit ist diese:

  1. Erstellen Sie für jede Zelle, für die Sie einen Standardwert wünschen, einen benannten Arbeitsblattbereich, der auf diese Zelle verweist, und geben Sie im Kommentarfeld den erforderlichen Standardwert ein.
  2. Workbook_SheetChangeHinzufügen des Arbeitsmappenmodulereignisses

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        Dim nm As Name
        Dim cl As Range
    
        On Error Resume Next
        For Each cl In Target.Cells
            If IsEmpty(cl) Then
                For Each nm In Sh.Names
                    If nm.RefersToRange.Address = cl.Address Then
                        Application.EnableEvents = False
                        If IsNumeric(nm.Comment) Then
                            nm.RefersToRange.Value = Val(nm.Comment)
                        Else
                            nm.RefersToRange.Value = nm.Comment
                        End If
                        Application.EnableEvents = True
                        Exit For
                    End If
                Next
            End If
        Next
    End Sub
    

Dies bewirkt Folgendes:

  • Bei jeder Änderung einer Zelle wird der Ereigniscode ausgeführt
  • Wenn eine geänderte Zelle leer ist
    • Suchen Sie nach einem benannten Bereich im Arbeitsblattbereich, der auf die Zelle verweist
    • Wenn gefunden, kopieren Sie den Namenskommentar in den Zellenwert. Die Konvertierung in eine numerische Version ist angemessen.

Antwort2

Ich verwende eine Methode, die folgendermaßen funktioniert:

-- ein einfaches Beispiel für Schulzeugnisse:

  • Spalte A sind die Zeilentitel: Matrikelnummer, Nachname, Vorname, Geburtsdatum, Alter...
  • Spalte B ist die Ghost-Spalte: Breite 1, linksbündig, Einzug um 1 vergrößern, geschützt, Schriftfarbe grau, kein Textumbruch
  • Spalte C sind die Eingabefelder

-- Die Werte in Spalte B werden mit dem geladen, was Sie in Spalte C als Standard anzeigen möchten. Die Werte können aus einem begleitenden Hilfsblatt, einer Formel, die beim Ausfüllen der Zellen aktualisiert wird, einem anderen Arbeitsblatt mit Standardwerten, Fehlermeldungen usw. stammen.

-- wenn also die Schüler-ID eingegeben wird, werden Nachname, Vorname, Geburtsdatum, Adresse, Eltern usw. sofort als Phantomwerte in den Zeilen darunter angezeigt. In den Zellen in Spalte C steht nichts, daher reichen die Phantomwerte in Spalte B bis in Spalte C. (Zahlen- und Datumswerte müssen mit einer Text()-Funktion formatiert werden.) Nach der Überprüfung der Angaben zum Kind fährt der Operator mit dem Ausfüllen des Stundenplans, des Klassenlehrers usw. fort.

-- Wenn etwas geändert werden muss, wird in die Zelle etwas eingegeben, was signalisiert, dass für dieses Kind etwas anders ist. (Familienname, Name der Eltern, Adresse...)

-- oder Sie geben den Nachnamen und den Vornamen ein und lassen das ID-Feld leer. Als Ghost-Wert wird dann die Kinder-ID aus der Haupttabelle angezeigt.

-- Ein Hilfsblatt könnte Hilfstext anzeigen, der verschwindet, sobald die Zelle in Spalte C berührt wird. Oder die Tabellenkalkulationslogik kann bestimmen, dass der Hilfstext nicht mehr geeignet ist oder etwas anderes anzeigen sollte.

Die Ghost-Werte sind durchsuchbar, können für Standardtext grau oder für Warnungen rot sein und werden automatisch aktualisiert, wenn die zugehörigen Tabellen aktualisiert werden.

Eine Einschränkung besteht darin, dass der Ghosttext nicht in Spalte C umbrochen werden kann.

verwandte Informationen