有這樣一個工作場景:我們制作一個工作報表模板給同事填寫數據,這個工作表格只可以在預設的可編輯區域編輯,其它都是受密碼保護的,而且這個可編輯區域是隨著日期——工作周的變化而發生變化的。也就是說在不同的工作周可編輯的區域是會變動的。怎么實現呢?我們來看下具體的步驟吧。
實現步驟:
我們的工作表格的每個可編輯區域大小都是一樣的,所不同的是分布的位置不同。如:第一周可編輯區域是$G:$8:$M$32,第二周的可編輯區域是$G:$37:$M$61第三周……以此類推。
首先我們先構造一個張每周可編輯區域對照表:
具體公式如圖:
2.按ALT+F11進入VBE編程環境,創建模塊1,輸入如下代碼:
Sub auto_open()
ActiveSheet.Unprotect Password:="123"‘去除密碼
ActiveSheet.Protection.AllowEditRanges("區域2").Delete’刪除可編輯區域
ActiveSheet.Protection.AllowEditRanges.Add Title:="區域2", Range:=Range("G" & Range("$XEZ$3") & ":M" & Range("XFA3"))’創建可編輯區域,這里的可編輯區域由上面所構造的周對照表確定。
ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True‘設置密碼
Range("G" & Range("$XEZ$3")).Select’選擇可編輯區域的第一個單元格
End Sub
如圖:
3.將文檔保存為代有.xlsm后綴的代有程序的Excel文檔。
這樣當雙擊打開此文檔便會定位到可編輯區域了,除當前周外的其它區域是受保護不可編輯的。
今天就跟大家分享到這了,不知道大家學會了嗎?有任何問題可以給我留言。希望我的分享能對大家的工作有所幫助。喜歡我的文章的小伙伴請 關注、點贊、轉發、也可以收藏備用。謝謝大家的支持!