日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Excel多人共享

發布時間:2023/12/13 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 Excel多人共享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

哈嘍,大家好!在日常工作中,工作表經常會被多人編輯,為此,我們往往需要為不同的人設置不同的查看權限,以實現工作表的分級保密。下面分享一種用VBA設置權限的方法,它擁有高逼格的用戶登錄界面,以及完善的分級保密機制,趕緊來看看吧!

提到“多人運動”,你一定以為小編一言不合就開車。你錯了!作為一個正經的Excel教程作者,小編說的多人運動,指的是同一個Excel表格經常需要由多人編輯,供多人使用。

Excel中的多人運動,往往需要賦予不同的人不同的查看權限,從而做到分級保密。簡單地通過文件保護不能區分權限,而通過簡單地隱藏工作表又太容易被取消,形同虛設!為此,小編深夜不睡,YY了一個VBA授權查閱套路,相信同學們看完一定會由衷嘆一句:666!



第一步:建立權限表

賦予不同角色不同的查看權限是“多人運動”表格的重頭戲,我們通過建立權限表來實現這一功能。從權限表第三行開始,我們需要將工作簿中的所有工作表名稱依次填寫;而從第二列開始的每一列,則用于填寫每個角色的用戶名、密碼和對應的權限(用是否表示)。由此,我們可以自由添加工作表和查看角色,不受初始設置的限制。詳見下表。



PS:建立權限表后,我們需要將文件保存為啟用宏的工作簿,文件類型為.xlsm。



第二步:創建窗體

通過窗體驗證用戶權限是“多人運動”表格的門面,它讓這套表的逼格瞬間提升了好幾個檔次有木有。如此裝逼必備老少皆宜的窗體,該如何創建呢?

1. 按Alt+F11,或者點擊開發工具中的Visual Basic按鈕,打開VBA窗口。

2. 點擊【插入】–【用戶窗體】,在彈出的界面中繪制兩個標簽,分別為用戶名和密碼,同時插入兩個文本框和兩個命令按鈕(取消和確定)。具體插入方式和Excel工作表中插入形狀無異,此處不再贅述。



第三步:按鈕代碼

VBA代碼是這套“多人運動”表格的靈魂,表格之所以能夠實現酷炫的分權功能,全在于這寥寥數語!所以,拿走不謝!

具體操作如下:

1. 雙擊窗體中的“確定”按鈕,將下述代碼粘貼到VBA代碼窗口中即可。該段代碼可以實現單擊“確定”按鈕,即啟動校驗用戶密碼并將對應的表格顯示出來的功能。

Private Sub CommandButton1_Click()

Dim j, i As Integer

maxr = Application.CountA(Sheets("權限表").Range("A:A"))

maxc = Application.CountA(Sheets("權限表").Range("1:1"))

If TextBox1.Value = "" Then MsgBox "用戶名不能為空", vbInformation, "注意": Exit Sub

If TextBox2.Value = "" Then MsgBox "密碼名不能為空", vbInformation, "注意": Exit Sub

For i = 2 To maxc

u = Worksheets("權限表").Cells(1, i)

k = Worksheets("權限表").Cells(2, i)

If TextBox1.Text = u And TextBox2.Text = k Then

Unload Me

Application.Visible = True

Application.EnableCancelKey = xlInterrupt

For j = maxr to 3 step -1

ThisWorkbook.Activate

If Sheets("權限表").Cells(j, i) = "是" Then

Sheets(j - 2).Visible = xlSheetVisible

Else

Sheets(j - 2).Visible = xlSheetVeryHidden

End If

Next j

If Sheets("權限表").Visible = xlSheetVisible Then

pw = "excelinexcel"

Sheets("權限表").Unprotect Password = pw

Cells.Select

Selection.EntireColumn.Hidden = False

End If

Exit Sub

End If

Next i

MsgBox "用戶名或密碼錯誤!"

End Sub

2.雙擊窗體中的“取消”按鈕,同樣粘貼下述VBA代碼。該段代碼功能很簡單,即退出Excel。

Private Sub CommandButton2_Click()

Application.DisplayAlerts = False

Unload Me

Application.Visible = True

Application.Quit

Application.EnableEvents = False

End Sub

3. 在兩段代碼的下方,粘貼以下VBA代碼,用于防止用戶通過關閉窗體入侵。

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode <> 1 Then Cancel = True

End Sub

4. 雙擊對象窗口中的ThisWorkbook,將下方代碼粘貼到代碼窗口中去。這兩段代碼實現了打開工作簿即彈出窗體開始驗證,并保護和隱藏工作表行列,避免用戶通過禁用宏來越權查看。

工作簿打開事件代碼:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.DisplayAlerts = False

Sheets(1).Visible = xlSheetVisible

Dim sht As Worksheet

For Each sht In Worksheets

If sht.Name <> "權限表" Then

sht.Visible = xlSheetVeryHidden

Else

sht.Select

Cells.EntireColumn.Hidden = True

pw = "excelinexcel"

sht.Protect Password = pw

sht.EnableSelection = xlNoSelection

End If

Next

Application.Visible = False

ThisWorkbook.Close savechanges:=True

End Sub

工作簿關閉事件代碼

Private Sub Workbook_Open()

Application.DisplayAlerts = False

Application.EnableCancelKey = xlDisabled

Application.Visible = False

UserForm1.Show

End Sub

5. 保護VBA工程,確保用戶無法刪除、查看或修改。

操作步驟:

點擊【工具】-【VBAProject屬性】,彈出【VBAProject-工程屬性】對話框,選擇【保護】選項卡,輸入【查看工程屬性的密碼】,點擊【確定】即可。



完成以上操作步驟,一套完美的多人運動表格就搞定了,車也就開完了。此時關閉Excel再次打開即可體驗多人運動的快感,隨文附上演示作品,快拿去把玩把玩吧!最后,以一段打油詩結束今天的分享,下次再見吧!

多人運動有是非,

一不小心就被黑。

學它幾句VBA,

再也不怕把鍋背。

總結

以上是生活随笔為你收集整理的Excel多人共享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。