前景提要
經(jīng)過了幾天不斷地分享之后醉蚁,關(guān)于工作薄的匯總和合計(jì)的相關(guān)操作,就告一段落了,后面還有需要或者還有新的想法再寫出來分享給大家
今天我們重新回到計(jì)劃中來断箫,我們今天要分享一些工作薄的保護(hù)功能,說到工作薄的保護(hù)大家都會(huì)想到是工作薄的打開的密碼秋冰,就是這里
單獨(dú)一個(gè)工作薄的加密是非常的簡(jiǎn)單的仲义,在excel中手工操作幾個(gè)按鈕既可以,但是如果批量的呢?就不是幾個(gè)按鈕的問題了埃撵,所以需要呼叫VBA了赵颅。
場(chǎng)景模擬
我們還是用昨天的數(shù)據(jù)模型,假設(shè)我們成功的完成了每個(gè)地區(qū)的銷售數(shù)據(jù)的統(tǒng)計(jì)暂刘,我們現(xiàn)在需要將自己匯總好的這份數(shù)據(jù)交給他的人使用饺谬,因?yàn)槠渌牟块T的人也需要這份數(shù)據(jù)來作為參考分析,但是你匯總之后的數(shù)據(jù)你并不希望他們隨意的亂改谣拣,至少原始數(shù)據(jù)是不能夠被修改的募寨,所以我們要給所有的原始數(shù)據(jù)加一個(gè)保護(hù)功能,上代碼
方法分析
方法就是調(diào)用VBA中的那個(gè)保護(hù)工作薄的功能森缠,好處就是通過代碼拔鹰,我們可以批量保護(hù),而不用打開一個(gè)保護(hù)一個(gè)再關(guān)閉再打開這樣惡心的操作了贵涵,來上代碼
代碼區(qū)
Sub protect()
Dim pathn$
pathn = ThisWorkbook.Path
f = Dir(pathn & "\")
Do While f <> ""
If f <> "test.xlsm" Then
Application.ScreenUpdating = False
Workbooks.Open (pathn & "\" & f)
ActiveSheet.protect "123"
Application.ScreenUpdating = True
ActiveWorkbook.Close True
End If
f = Dir()
Loop
End Sub
我們來看看最終的效果
文件可以正常打開并復(fù)制粘貼
但是如果如果你想要修改數(shù)據(jù)列肢,對(duì)不起,警告
想要修改保護(hù)模式宾茂,密碼只有我知道例书,你完全沒有辦法撤銷
這樣就實(shí)現(xiàn)了簡(jiǎn)單的工作薄的保護(hù)功能了,當(dāng)然這樣的功能并不是最好的刻炒,因?yàn)檫€是可以增加工作表等其他的操作决采,并不算是最佳的保護(hù)方式,等后面全部學(xué)習(xí)完了坟奥,我再分享一些比較霸道的保護(hù)工作薄數(shù)據(jù)的方式树瞭,我們還是學(xué)習(xí)為主,今天先學(xué)習(xí)下簡(jiǎn)單的數(shù)據(jù)保護(hù)功能
代碼分析
很簡(jiǎn)單爱谁,保護(hù)的功能就一句代碼
ActiveSheet.protect "123"
記住晒喷,直接套用,收工访敌!