⑴ EXCEL高手如何用VBA限制打開時間
本帖最後由 hytsky 於 2011-12-19 23:50 編輯
Sub time()
Dim a As Date
Dim b As Date
Dim c As Date
a = Date
b = Sheets("用戶及密碼").Range("H500").Value
c = "2011 - 12 - 20"
If a < b Then
MsgBox "系統時間有誤,請重新設置!", 1 + 64, "溫馨提示"
ThisWorkbook.Close
ElseIf a > b Then
Sheets("用戶及密碼").Range("H500") = a
ElseIf c - a <= 2 And c - a > 0 Then
MsgBox "你還可以使用" & c - a & "天!", 64, "警告"
ElseIf c - a <= 0 Then
MsgBox "已超過使用時間", 64, "警告"
ThisWorkbook.Close
End If
End Sub
⑵ vba腳本如何設置使用時間限制
Sub sub1()
'控制使用時間,8:00-16:00時段可以使用
If Hour(Time) < 8 Or Hour(Time) > 16 Then Exit Sub
'控制使用日期,僅限雙休日使用
If Weekday(Now, vbMonday) < 6 Then Exit Sub
'此處寫上你自己需要執行的宏代碼,或調用其他宏過程
End Sub
⑶ excel VBA 建立一個Function來規定日期的范圍
A1為輸入日期(單元格格式為日期),試下這個
=IF(VALUE(A1)>VALUE("2014-10-18"),A1,"#VALUE")
⑷ 如何用VBA編寫限制時間的使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rem 代碼功能:打開工作簿40分鍾後,對工作表進行加密保護:密碼mPwd
rem 以下代碼,放到thisworkbook代碼窗格中
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.ProtectContents Then sh.Unprotect "mPwd"
Next
Application.OnTime Now + TimeValue("0:40:00"), "abc"
End Sub
rem 以下代碼,放到模塊中
Sub abc()
Dim sh As Worksheet
application.DisplayAlerts=false
For Each sh In ThisWorkbook.Worksheets
If Not sh.ProtectContents Then sh.Protect "mPwd"
Next
thisworkbook.save
application.DisplayAlerts=true
End Sub
⑸ 如何控制vba控制項文字框中只允許輸入日期
要控制vba控制項文字框中只允許輸入日期,有多種方法,下面給你一種常用的辦法:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1) = False Then
MsgBox "請輸入日期"
TextBox1 = ""
End If
End Sub
⑹ 請EXCEL高人寫一段VBA代碼,讓一個表只能在一定的日期內和次數內才能繼續下面的VBA代碼。
郵件已發送,請查收!(有實例文件,請打開修改測試)
代碼介紹:
1、在ThisWorkBook內輸入下面代碼:
Option Explicit
Private Sub Workbook_Open()
If jiaoyan = False Then Exit Sub
'請在下面輸入繼續運行的代碼!
MsgBox "你好,歡迎繼續使用以下代碼!", vbInformation, "提示"
End Sub
2、新建一個模塊,輸入下面代碼:
Option Explicit
Function jiaoyan() As Boolean
Dim i As Integer, S As String, Dt As Date
S = GetSetting("MyExcel", "Config", "Date")
If IsDate(S) = False Then
Dt = #1/1/1900#
Else
Dt = CDate(S)
End If
If Dt > #12/31/2013# Then Exit Function '限定一定的日期,請修改!
SaveSetting "MyExcel", "Config", "Date", Date
i = Val(GetSetting("MyExcel", "Config", "Count"))
i = i + 1
If i > 60 Then Exit Function '限定使用次數,請修改!
SaveSetting "MyExcel", "Config", "Count", i
S = Environ("Computername")
If S <> "PC-201002121042" Then Exit Function '限定電腦名稱,請修改!
jiaoyan = True
End
3、修改要限制的日期、次數、電腦名稱,並保存excel,退出。以後每次打開此文件,都將繼續校驗,只有符合條件才繼續運行後面代碼!
⑺ EXCEL高手如何用VBA限制工作簿編輯時間
rem代碼功能:打開工作簿40分鍾後,對工作表進行加密保護:密碼mPwd
rem以下代碼,放到thisworkbook代碼窗格中
PrivateSubWorkbook_Open()
DimshAsWorksheet
ForEachshInThisWorkbook.Worksheets
Ifsh.ProtectContentsThensh.Unprotect"mPwd"
Next
Application.OnTimeNow+TimeValue("0:40:00"),"abc"
EndSub
rem以下代碼,放到模塊中
Subabc()
DimshAsWorksheet
application.DisplayAlerts=false
ForEachshInThisWorkbook.Worksheets
IfNotsh.ProtectContentsThensh.Protect"mPwd"
Next
thisworkbook.save
application.DisplayAlerts=true
EndSub
⑻ 怎麼在VBA設置當當前日期大於2017-09-06時候直接結束,小於的時候就可以使用宏
Subabc()
IfDate<CDate("2017-9-6")Then
Call宏『執行宏
EndIf
EndSub
⑼ 在VBA裡面怎麼設置當日期大於20171012日時候
VBA里有自帶當前日期的DATE函數啊,代碼例句如下:
Public Sub a()
Dim a As Date
a = Date
If a > CDate("2017-10-12") Then Exit Sub Else MsgBox "請繼續"
End Sub
'結束過程的語句是exit sub
⑽ VBA時間加減與范圍限定
vba中時間可以直接與數值相加減。
如果你要得到一個時間的兩秒後的時間可以這么寫:
Suba()
DimdAsDate
d=#6/7/20131:00:00PM#
d=d+TimeValue("0:0:2")
Debug.PrintFormat(d,"yyyy-mm-ddhh:mm:ss")
EndSub