⑴ 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