標題:
[發問]
多一個if 選擇,多繞一個userform就卡住了,請教。
[打印本頁]
作者:
yangjie
時間:
2014-6-23 10:15
標題:
多一個if 選擇,多繞一個userform就卡住了,請教。
本帖最後由 GBKEE 於 2014-6-23 16:35 編輯
[attach]18542[/attach]請教諸位大大
Private Sub Workbook_Open()
Dim FileName As String
Dim str1 As String
str1 = Sheets("基本資料").Cells(1, 1) & Sheets("基本資料").Cells(1, 2)
FileName = ThisWorkbook.Path & "\資料庫\" & str1 & "學期資料庫\" & str1 & "學期資料.xls"
str2 = ThisWorkbook.Name
Dim fsobj As Object
Set fsobj = CreateObject("Scripting.FileSystemObject")
If fsobj.FileExists(FileName) Then
Else
MsgBox "找不著" & FileName
End If
Call MakeMenu
Application.Visible = False
'If Left(str2, 8) = "出缺勤暨獎懲登錄" Then
' UserForm9.Show
'Else
UserForm1.Show
'End If
End Sub
進入UserForm1 點 "管理者"按鈕 給了正確密碼"520" 正常
點 第二個按鈕 給了正確密碼"1234" 正常
一切正常
若改成
If Left(str2, 8) = "出缺勤暨獎懲登錄" Then
UserForm9.Show
Else
UserForm1.Show
End If
然後進入UserForm9給了正確密碼"520"
進入UserForm1 點 "管理者"按鈕 給了正確密碼"520" 卻無法Run
點 第二個按鈕 給了正確密碼"1234" 也無法Run
卡住了 也不知道錯在哪裡
求救 求救
作者:
GBKEE
時間:
2014-6-23 14:32
回復
1#
yangjie
沒有卡住
UserForm9 修正一下
Private Sub UserForm_Initialize()
With TextBox1
.PasswordChar = "*" '不顯示 真正輸入的字元
'PasswordChar 屬性 指定是否顯示其它字元的預留位置,而非顯示實際上輸入 TextBox 中的字元。
'注意:只在英文模式下有效(數字,英文)
.SetFocus
End With
End Sub
Private Sub CommandButton1_Click()
If TextBox1 = "520" Then
Unload Me
UserForm1.Show
ElseIf Len(TextBox1) > 0 Then
Dim n%
Dim V&
Application.Visible = True
For V = 1 To ActiveWorkbook.Sheets.Count
If Sheets(V).Name <> "首頁" Then
Sheets(V).Visible = False
End If
Next V
Unload Me
Application.DisplayAlerts = False
ActiveWorkbook.Save
n = 0
For Each w In Windows
If Right(w.Caption, 4) = ".xls" Or Right(w.Caption, 5) = ".xlsx" Then n = n + 1
Next
If n < 2 Then
ActiveWindow.Close
Application.Quit
Else
Call DeleteMenu
With ActiveWorkbook
.Close True
End With
End If
Else
MsgBox "沒輸入密碼"
TextBox1.SetFocus
End If
End Sub
複製代碼
作者:
yangjie
時間:
2014-6-23 16:09
回復
2#
GBKEE
太厲害了
謝謝GBKEE
With TextBox1
.PasswordChar = "*"
.SetFocus
End With
多學一招
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)