平淡
首先新建一個名稱為“輔助表”的新工作表,按提示輸入員工的地址、電話號碼等信息。定位到靠后的某個空白單元格(如B12),建立一個分配給每名員工的打開密碼的列表(圖2)。
再新建一個名為“初始表”的新表,內容按照圖1的格式輸入表頭數(shù)據(jù),定位到C2并輸入公式“=IF($A2=輔助表!$C13,輔助表!B2,"")”,向下向右填充到C5、D6單元格(圖3)。
公式解釋:這里使用IF函數(shù)進行判斷來顯示數(shù)據(jù),當在A2的數(shù)據(jù)輸入符合輔助表中對應的密碼字符即C13數(shù)值,此時在C2單元格顯示輔助表B2的數(shù)據(jù)(即張三的地址信息),其他類推;否則C2單元格就顯示空白。這里注意“$A2”、“$C13”使用列相對引用,這樣下拉后依次引用A2→A4、C13→C17的單元格。
同上,繼續(xù)新建一個名為“訂正表”的新表,定位到B2并輸入公式“=IF(初始表!F2<>0,初始表!F2,輔助表!B2)”,向下向右填充公式。公式表示當初始表中的F2數(shù)據(jù)不為0(即張三地址信息進行修改時),那么B2就顯示修改后的數(shù)值,否則顯示原來輔助表B2的原始地址信息數(shù)據(jù),這樣員工修改后的信息數(shù)據(jù)會自動同步到該表中(圖4)。
完成上述設置后切換到“初始表”,選中F2:G5,右擊選擇“設置單元格格式→保護”,去除“鎖定”的勾選,這樣在開啟工作表和工作簿保護后,就僅有這些單元格可以錄入編輯數(shù)據(jù)。同上,選中A2:A5,也執(zhí)行類似的操作(圖5)。
切換到“審閱→保護工作表”,勾選“選定解除鎖定的單元格”,點擊“確定”輸入保護密碼,再次輸入確認密碼,完成工作表的保護。這樣整個工作表就只能在上述未鎖定的單元格中輸入內容(圖6)。
在工作簿底部的列表中,按Ctrl鍵選中“訂正表”和“輔助表”,右擊選擇“隱藏”。點擊“審閱→保護工作簿”,按提示設置保護密碼(密碼建議設置成和保護工作表的一致,方便記憶),這里一定要記住這個密碼,否則后續(xù)操作無法打開隱藏的工作表提取數(shù)據(jù)。這樣兩個表就被自動隱藏起來了,避免其他用戶查看到在“輔助表”中設置的密碼。沒有工作簿保護密碼無法取消隱藏。
由于默認每位員工輸入密碼并編輯完成文檔后,當前操作員工輸入密碼會保存在A列。為了防止下一位操作員工查看到上次編輯員工的密碼,可以在文檔中添加一個宏來清除A列顯示的密碼。先啟用Excel宏信任,切換到“初始表”后按“Alt+F11”進入ExcelVBA環(huán)境,雙擊“ThisWorkbook”,在彈出的窗口中從對象下拉框中選擇“WorkBook”,在類型下拉列表框中選擇“Open”,然后輸入下列的代碼生成一個宏。這個宏的作用是用戶每次重新打開該文檔后,A2:A5的數(shù)據(jù)都會被自動清空。完成后保存為.xlms文檔(圖7)。
Sub wordkbook_open()
Range("A2:A5").Select
Selection.ClearContents
Range("A2").Select
End Sub
現(xiàn)在我們就可以根據(jù)“輔助表”中設置的密碼,將上述文檔發(fā)給每位員工,員工打開該文檔后,他們就只有在A列輸入我們提供的密碼才可以看到自己的數(shù)據(jù)信息,并且只能在F、G列進行修改。沒有對應的密碼,當前操作者是無法看到其他員工的相關信息的(圖8)。
每位員工修改的信息會自動同步到訂正表中,該表被隱藏,其他員工也無法查看。而且每次將文檔發(fā)給另外一個員工打開后,上一位員工保存的密碼會自動清零,這樣每個打開文檔編輯的員工都無法看到其他人的信息數(shù)據(jù)。完成所有核對工作后,制作者只要點擊“審閱→取消保護工作簿”,輸入上述密碼后取消保護,然后將隱藏“訂正表”取消隱藏,將其中的數(shù)據(jù)提取出來即可。