EXCEL VBA 登錄界面程序源代碼_圖文_百度文庫_第1頁
EXCEL VBA 登錄界面程序源代碼_圖文_百度文庫_第2頁
EXCEL VBA 登錄界面程序源代碼_圖文_百度文庫_第3頁
EXCEL VBA 登錄界面程序源代碼_圖文_百度文庫_第4頁
EXCEL VBA 登錄界面程序源代碼_圖文_百度文庫_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、在工作中可能遇到這種情況,就是有一個錄入工作需要多人協(xié)同完成,每個人所要錄入的部份又不相同,于是就在同一個EXCEL工作簿中建立多個工作表,當(dāng)某一個人錄入時,只打開他需要操作的那個工作表,其他工作表自動隱藏起來,防止被誤操作。我看到網(wǎng)上有不少朋友在找有這個功能的表格,于是就試著做了一個,跟大家分享一下。注意:由于EXCEL的VBA安全性非常低,網(wǎng)上有很多破解的方法,所以對那些數(shù)據(jù)安全性要求較高的請不要用這種方法。一、表格部份這個工作簿中有多個工作表,分成三類。第一類:工作簿的第一個工作表,里面沒有數(shù)據(jù),只用于顯示登錄窗口,起名為“登錄”。由于在VBA代碼中要調(diào)用這個工作表,在實際使用時,這個名

2、字不要改動。第二類:工作簿的第二個工作表,里面存儲了各登錄人員的姓名、登錄密碼以及各人要操作的工作表(權(quán)限),起名為“設(shè)置”,這個工作表的名字同樣不要修改,里面的數(shù)據(jù)位置也不要改動。第三類:工作簿的第三及以后的工作表,這些表都是登錄人員要操作的表格,應(yīng)根據(jù)自己的需要設(shè)置,我為了介紹方便,給他們起名為“表一”、“表二”、.,可以添加多個,表的名字也可任意。在做上面這些表時,只要注意“登錄”表的名字不要改、“設(shè)置”表的名字與數(shù)據(jù)位置不要改,其他部份可隨意。提示:如果非要改變“登錄”表與“設(shè)置”表的名字,必須在EXCEL中改名后,把VBA代碼中相關(guān)的名字也改過來才能正常使用。二、VBA部份上面表格部

3、份完成后,就需要做VBA代碼了,在EXCEL窗口按ALT+F11調(diào)出VBA窗口。1、登錄窗體在工具欄中按“插入-用戶窗體”,添加一個窗體。將插入的窗體調(diào)整到適當(dāng)大小。2、代碼在所添加的窗體上雙擊鼠標(biāo),然后把下面代碼粘貼進(jìn)去:Private Sub CommandButton1_Click(On Error GoTo 10 '當(dāng)姓名與密碼不對應(yīng)時,會出現(xiàn)錯誤,轉(zhuǎn)到10語句處理Dim n As StringSet sh = Sheets("設(shè)置"na = TextBox1.Text: ps = TextBox2.Text '取得登錄窗口中的姓名與密碼If na

4、= "" Or ps = "" Then MsgBox "未輸入用戶名或密碼,不能登錄", , "提示": Exit Subs = WorksheetFunction.Match(na, sh.a:a, 0 '查找用戶在A列的位置n = sh.Cells(s, 2 '取出“設(shè)置”表中的權(quán)限密碼,字符型If n <> ps Then GoTo 10Call 隱藏表'檢查一下“設(shè)置”表的C列及右邊各格中的內(nèi)容,有內(nèi)容的,說明可以打開內(nèi)容所指定的工作表For i = 4 To 255b

5、 = sh.Cells(s, i.ValueIf b = 1 And sh.Cells(1, i <> "" Then '單元格為1時,表示有權(quán)限打開這個表,就讓它顯示出來Sheets(sh.Cells(1, i.Value.Visible = -1End IfNextUnload UserForm1 '退出窗體Exit Sub10:MsgBox "姓名或密碼錯誤,不能登錄", , "提示"End SubSub 隱藏表(TextBox1.Text = "": TextBox2.Text

6、= ""For i = 1 To Worksheets.CountIf Sheets(i.Name <> "登錄" ThenSheets(i.Visible = 2ElseSheets(i.Visible = -1 '只讓“登錄”表顯示出來End IfNextEnd SubPrivate Sub CommandButton2_Click(Call 隱藏表End SubPrivate Sub UserForm_Activate('窗體出現(xiàn)在屏幕上的位置Me.Top = 220Me.Left = 120End Sub代碼中都做了注

7、釋,看不明白也不影響使用,只要粘貼上就行了。再用鼠標(biāo)雙擊左側(cè)的thisworkbook模塊,把下面代碼粘貼上去。Private Sub Workbook_BeforeClose(Cancel As BooleanCall UserForm1.隱藏表ActiveWorkbook.Save '保存當(dāng)前工作簿文檔End SubPrivate Sub Workbook_Open(Call UserForm1.隱藏表UserForm1.Show '加載登錄窗體End Sub再用鼠標(biāo)雙擊左側(cè)“設(shè)置”表模塊,把下面代碼粘貼上去。Private Sub Worksheet_Activate(&

8、#39;將各工作表的名字填入第一行中For i = 2 To Worksheets.CountCells(1, i + 2 = Sheets(i.NameNextEnd Sub再用鼠標(biāo)雙擊左側(cè)“登錄”表模塊,把下面代碼粘貼上去。最后給VBA加上一個保護(hù)密碼,防止其他人員改動代碼。按“工具-VBA Project屬性”,調(diào)出“VBA Project”屬性窗口,選“保護(hù)”選項卡,按下圖設(shè)置就行了。至此就完成了整個制做過程,關(guān)閉VBA窗口回到EXCEL窗口,就可以在這個工作簿中添加你要操作的全部工作表了,注意添加的位置在“設(shè)置”工作表的右邊。使用時的注意事項:1、在“登錄”工作表中,登錄窗體是自動顯

9、示的,只要輸入姓名、密碼正確,按“登錄”按鈕,就會根據(jù)“設(shè)置”表中的權(quán)限,自動打開該操作者所要操作的工作表,與他無關(guān)的表會自動隱藏。2、當(dāng)以管理員身份(本例中的“張三”)登錄后,只要一打開“設(shè)置”工作表,就能自動在D1單元格及右邊的各單元格中更新工作表名字。3、任何操作者在操作完成后,要在“登錄”窗體上點擊“退出”按鈕,以便關(guān)閉所操作的工作表。4、為了保證登錄功能正常運行,在打開工作簿時一定要啟用宏。另外,為了保證工作簿在關(guān)閉時只顯示“登錄”工作表,會自動將其他表隱藏并保存工作簿。補(bǔ)充說明:如果想在登錄窗口的密碼框不顯示“明文”,只顯示一串星號“*”,可以用下面方法設(shè)置。打開VBA窗口,用鼠標(biāo)

10、選中登錄窗體的密碼文本框textbox2,在左邊“屬性”窗口中找到passwordChar屬性,輸入一個星號就行了。補(bǔ)充2有朋友提出,在顯示登錄窗口時,不想手工輸入“姓名”,最好用下拉框選擇“姓名”,想實現(xiàn)這個功能,只要把登錄窗口中的姓名“文本框”刪除,換成一個“復(fù)合框”,再改一下代碼就可以了。1、改文本框為復(fù)合框2、修改代碼分兩步,先把原代碼中的所有“TextBox1.Text”替換成“ComboBox1.Text”(提示:可以在VBA窗口中按“編輯-替換”,輸入內(nèi)容后選“全部替換”即可)。再將原代碼中的下面這段:Private Sub UserForm_Activate('窗體出現(xiàn)在屏幕上的位置Me.Top = 220Me.Left = 120End Sub替換成:Private Sub UserForm_Activate('窗體出現(xiàn)在屏幕上的位置Me.Top = 220Me.Left = 120For i = 2 To

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論