有沒有辦法在 Excel 中設定「預設」或「佔位符」值?

有沒有辦法在 Excel 中設定「預設」或「佔位符」值?

我有一個電子表格,其中的單元格可供用戶編輯,但只要沒有用戶輸入的數據,我也希望在其中包含“預設”或“佔位符”值。有幾個很好的用例:

  • 防止公式錯誤,同時在使用者未輸入(或已刪除)自己的值時提供合理的假設。
    • 我可以使用條件格式來提醒使用者預設值,以防止他們忽略這些值 - 然後他們可以做出明智的選擇,確定該值是否仍然適合預期的計算。
  • 對要在儲存格中輸入的內容進行簡短描述,而不必有單獨的「說明」部分或文件。這也將消除對附近「標籤」單元的需要,在某些情況下確實不合適。

為了實現我想要的目標,我需要一些公式、腳本或其他進階電子表格選項來執行以下操作:

  • 在使用者輸入資料之前在儲存格中顯示預設值。
  • 當該儲存格中沒有使用者輸入的資料時,允許引用該儲存格的任何公式找到預設值。
  • 允許使用者自由地(自然地,就像他們對任何「正常」儲存格所做的那樣)用自己的值或公式覆蓋顯示的值,並透過引用該儲存格的任何公式找到使用者輸入的資料。
  • 當儲存格因刪除使用者輸入而被清空時,恢復為預設值。

有沒有辦法在 Excel 中執行此操作,或者我在這裡對電子表格程式要求太多?

答案1

沒有內建的方法可以做到這一點,您需要創建自己的方法。

一種可能性是這樣的:

  1. 對於您想要預設值的每個儲存格,建立一個引用該儲存格的工作表範圍命名範圍,然後在註解欄位中輸入所需的預設值
  2. 新增工作簿模組Workbook_SheetChange事件

    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
    

其作用是:

  • 每當單元格發生變更時,都會執行事件程式碼
  • 如果更改的儲存格為空
    • 尋找引用儲存格的工作表範圍命名範圍
    • 如果發現將名稱註解複製到儲存格值中,則轉換為數字是適當的

答案2

我使用的方法如下:

-- 學校記錄的一個簡單範例:

  • A 列是行標題:學生 ID、姓氏、名字、出生日期、年齡...
  • col B 是幽靈列:寬度 1,左對齊,增加縮排 1,受保護,字體顏色灰色,無文字換行
  • C 列是輸入字段

-- Col B 值載入了您想要在 col C 中顯示的預設值。值可以來自附帶的幫助表、填充單元格時更新的公式、另一個包含預設值的電子表格、錯誤訊息...

-- 因此,當輸入學生 ID 時,姓氏、名字、出生日期、地址、父母等立即在下面的行中顯示為幽靈值。 C 列單元格中沒有任何內容,因此 B 列中的幽靈值延伸到 C 列。在課程表中,班主任...

-- 如果需要變更某些內容,則會在儲存格中輸入內容,這表示該孩子的某些內容有所不同。 (姓氏、父母名字、地址...)

-- 或者,可以輸入姓氏和名字,將 ID 留空,而幽靈值將顯示主電子表格中的子 ID。

-- 輔助表可以顯示輔助文本,一旦觸碰 C 列中的儲存格,輔助文字就會消失。或者,電子表格邏輯可以確定幫助文本不再合適或應該顯示不同的內容。

幻影值是可搜尋的,可以是灰色的預設文字或紅色的警告,並隨著隨附的電子表格的更新而自動刷新。

一個限制是幽靈文字不能換行到 C 列。

相關內容