
情境:我有一張帶有不同類別下拉式選單的工作表。該工作表還有一個表格,其資訊根據從下拉清單中選擇的類別進行更新。有些類別會產生大量文本,需要大單元格,而有些類別僅包含少量文本,需要小單元格。
我正在尋找什麼:我正在尋找一種方法,單元格大小將根據任何給定類別的單元格中的文字量自動更新。我明白該怎麼做 手動,透過反白顯示整個頁面並點擊“自動調整”或雙擊列或行分隔線。但是,我希望有一種方法可以在選擇下拉項目時立即發生這種情況。原因是不同的人會使用此工作表,如果他們不知道需要手動更新單元格大小,他們可能會錯過關鍵信息,因為工作表設置為較小的單元格大小,並且文本已不明顯被切斷。相反,如果我預設將表格設定為非常大的儲存格大小,那麼當選擇僅產生少量文字的類別時,表格會比所需的更大且更笨重。
有人知道單元格大小在文字量改變時自動更新的方法嗎?
謝謝你!
答案1
每當該列中的單元格發生變更時,請建立一個巨集來更新列寬。
儲存格會因使用者輸入或公式重新計算而改變。您將為每種類型的變更使用不同類型的巨集。以下是在列中手動輸入的典型範例C:
在工作表程式碼區域插入下列事件巨集:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
Cells(1, "C").EntireColumn.AutoFit
End Sub
因為它是工作表程式碼,所以非常容易安裝並自動使用:
- 右鍵單擊 Excel 視窗底部附近的選項卡名稱
- 選擇查看代碼 - 這將打開一個 VBE 窗口
- 將內容貼進去並關閉 VBE 窗口
如果您有任何疑慮,請先在試用工作表上嘗試。
如果儲存工作簿,巨集將隨之儲存。如果您使用的是 2003 年以後的 Excel 版本,則必須將檔案另存為 .xlsm 而不是 .xlsx
若要刪除巨集:
- 如上所示調出 VBE 窗口
- 清除程式碼
- 關閉VBE視窗
要了解有關巨集的更多信息,請參閱:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
要了解有關事件巨集(工作表程式碼)的更多信息,請參閱:
http://www.mvps.org/dmcritchie/excel/event.htm
必須啟用巨集才能使其工作!