Czy istnieje sposób, aby mieć wartości „domyślne” lub „zastępcze” w programie Excel?

3

Mam arkusz kalkulacyjny z komórkami, który chcę edytować przez użytkownika, ale chcę też mieć wartości „domyślne” lub „zastępcze”, gdy nie ma danych wprowadzonych przez użytkownika. Jest na to kilka dobrych przypadków użycia:

  • Zapobiegaj błędom formuły, jednocześnie zapewniając rozsądne założenia, gdy użytkownik nie wprowadził (lub nie usunął) własnej wartości.
    • Mogę użyć formatowania warunkowego, aby ostrzec użytkownika o wartościach domyślnych, aby zapobiec ich niewiedzy - mogą następnie dokonać świadomego wyboru, czy ta wartość jest nadal odpowiednia dla zamierzonych obliczeń.
  • Podaj krótki opis tego, co ma być wprowadzone do komórki, bez konieczności posiadania oddzielnego segmentu lub dokumentu „instrukcji”. Pozwoliłoby to również wyeliminować potrzebę pobliskiej komórki „Etykieta”, w niektórych przypadkach, gdy naprawdę nie jest to właściwe.

Aby osiągnąć to, czego chcę, potrzebuję jakiejś formuły, skryptu lub innej zaawansowanej opcji arkusza kalkulacyjnego, która wykona następujące czynności:

  • Pokaż domyślną wartość w komórce, zanim użytkownik wprowadzi dane.
  • Pozwól, aby domyślna wartość została znaleziona przez dowolne formuły odwołujące się do komórki, gdy nie ma w niej danych wprowadzonych przez użytkownika.
  • Pozwól użytkownikowi swobodnie (naturalnie, dokładnie tak, jak robiliby to z każdą „normalną” komórką) nadpisać wyświetlaną wartość własną wartością lub formułą, a dane wprowadzone przez użytkownika zostaną znalezione przez dowolne formuły odwołujące się do komórki.
  • Gdy komórka jest pusta przez usunięcie danych wejściowych użytkownika, przywróć wartość domyślną.

Czy istnieje sposób, aby to zrobić w programie Excel, czy też proszę o zbyt wiele programu do obsługi arkuszy kalkulacyjnych?

Iszi
źródło
Myślisz, że możesz użyć komunikatu wejściowego sprawdzania poprawności danych Wybierz komórki, kliknij Dane & gt; Sprawdzanie poprawności & gt; Karta Wiadomość wejściowa Wpisz wiadomość w polu np .: Wpisz nazwę. Jeśli chodzi o generowanie symboli zastępczych sekwencyjnie opartych na komórkach wokół niej, jest to o wiele trudniejsze. Kliknij OK Komunikat zostanie wyświetlony po wybraniu komórki
pneumatics

Odpowiedzi:

2

Nie ma wbudowanego sposobu, aby to zrobić, musisz utworzyć własny.

Jedną z możliwości jest to:

  1. Dla każdej komórki, dla której chcesz ustawić domyślną, utwórz arkusz o określonym zasięgu, odwołując się do tej komórki, aw polu komentarza wprowadź wymaganą wartość domyślną
  2. Dodaj moduł skoroszytu Workbook_SheetChange zdarzenie

    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
    

Co to robi:

  • Po każdej zmianie komórki uruchamiany jest kod zdarzenia
  • Jeśli zmieniona komórka jest pusta
    • Wyszukaj nazwany zakres o zasięgu arkusza, który odwołuje się do komórki
    • Jeśli zostanie znaleziony, skopiuj komentarz Nazwa do wartości komórki, konwersja na numeryczną jest odpowiednia
chris neilsen
źródło