VBA中为什么会出现Msgbox "类型不匹配,13"?不能显示Union()的结果吗?Msgbox是显示字符串,而你代码中rang是单元格对象,所以类型不匹配出错。(如果rang是单个单元格,就会将单元格的
vbs可以写一个自动排班吗。或者vba也可以
EXCEL中用VBA实现自动排班,通过选择年月就能自动显示每月值班信息。
无论你身居企业还是行政事业单位,值班那是必须的!特别是如果你是一办公室的负责人,排列值班表的任务就自然落到了你的身上了。通常情况下,值班的领导为1-2人,值班的工作人员为2-4人,排列组合的结果就有很多了!当然,如果你的单位只有2-5人,就算是手动排列也花不了多少时间,要是有100人呢?排列的规则不同,自然排出的值班表就各不相同,本文旨在研究方法,并非一一枚举有多种排列,或许可以对你的工作有所启发!
数据表格设计本文采用EXCeL来做,标题设为【泊梁山甲午年五虎上将、天罡地煞轮流值班表】,表头在第三,分别为【日期、带班领导、值班人员、标志、备注】!
值班规则约定五虎上将:共5人,每1人负责值班一周,依次轮流;天罡地煞:共20人,每2人负责值班一周,依次轮流。遇周末(周六、周日)所有人员休息,值班的人不休息,反过来理解也行,即当班人的人员不去打战而休整……遇节假日值班人也不休息,即没有机会外出考察观光了……又遇周末并且没时间出去考察的就大碗吃肉喝酒吧!详细说明见如程序实现思路!
Subtest()
DimshtAsWorksheet,Lead(5),Under(10),Holidays(30),Job(10),Weeks,R%,C%,DaiBan$,ZhiBan$
Setsht=ThisWorkbook.Sheets(1)
Lead(1)="林冲"
Lead(2)="卢俊义"
Lead(3)="吴用"
Lead(4)="关胜"
Lead(5)="公孙胜"
Under(1)="秦明呼延灼"
Under(2)="花荣柴进"
Under(3)="李应朱仝"
Under(4)="鲁智深武松"
Under(5)="董平扬志"
Under(6)="戴宗刘唐"
Under(7)="李逵扈三娘"
Under(8)="雷横顾大嫂"
Under(9)="时迁孙二娘"
Under(10)="阮小二潘金莲"
Holidays(1)=#4/5/2014#
Holidays(2)=#4/6/2014#
Holidays(3)=#4/7/2014#
Holidays(4)=#5/1/2014#
Holidays(5)=#5/2/2014#
Holidays(6)=#5/3/2014#
Holidays(7)=#5/31/2014#
Holidays(8)=#6/1/2014#
Holidays(9)=#6/2/2014#
Holidays(10)=#9/6/2014#
Holidays(11)=#9/7/2014#
Holidays(12)=#9/8/2014#
Holidays(13)=#10/1/2014#
Holidays(14)=#10/2/2014#
Holidays(15)=#10/3/2014#
Holidays(16)=#10/4/2014#
Holidays(17)=#10/5/2014#
Holidays(18)=#10/6/2014#
Holidays(19)=#10/7/2014#
Job(1)=#5/4/2014#
Job(2)=#9/28/2014#
Job(3)=#10/11/2014#
sht.Range(sht.Cells(4,1),sht.Cells(65535,4)).ClearContents
ForWeeks=#3/31/2014#To#12/31/2014#
R=sht.[A65536].End(xlUp).Row+1
sht.Cells(R,1)=Weeks
IfDateDiff("d",#3/31/2014#,Weeks)Mod7=0Then
DaiBan=Lead(DateDiff("d",#3/31/2014#,Weeks)Mod5+1)
ZhiBan=Under(DateDiff("d",#3/31/2014#,Weeks)Mod10+1)
sht.Cells(R,2)=DaiBan
sht.Cells(R,3)=ZhiBan
Else
sht.Cells(R,2)=DaiBan
sht.Cells(R,3)=ZhiBan
EndIf
IfWeekday(Weeks)=7OrWeekday(Weeks)=1Thensht.Cells(R,4)="▲"
ForC=1ToUBound(Holidays)
IfHolidays(C)=WeeksThensht.Cells(R,4)="●"
If(Weekday(Weeks)=7OrWeekday(Weeks)=1)AndHolidays(C)=WeeksThensht.Cells(R,4)="■"
Next
IfWeeks=Job(1)OrWeeks=Job(2)OrWeeks=Job(3)Thensht.Cells(R,4)="○"
Next
EndSub
vbs里面可以嵌套vba吗
不可以。 所谓vba,指的是Office应用软件里的VB编程,这个a指的就是application(应用)。vba跟应用软件绑定,只能在应用软件中运行,可以通过应用软件提供的VBE(VB编辑器)来编程。 而VBS,只要在windows上都能直接双击运行,不依赖应用软件,只依赖Windows上的VBS脚本宿主。 虽然非常相似,但他们在某些方面有着不同的语法。VBS和VBA区别
vba相当是要挂在某一软件里的vb,依存于某软件,比如excel autocad等,不需编译,不能独立运行。主要是解决excel autocad自己的事情用的。 vbs语法基于vb,宿主(host)解释,不需编译。可以在微软的桌子上就可以运行(桌面就是宿主,可以用记事本写几行代码,存成.vbs就可以运行)比如你要搞一个安装文件,自动设置一下电脑等,当然嵌在网页里面就使网页一下高大上。 其实用好了都比较强大,虽然比不上高大上的其他语言。语法上两者也比较接近。 可以找个教程粗略看一下,再搜点例子看。VB和VBA详细的区别?都用在什么地方?
首先VBS不应该和VB、VBA放在一起比较,它是微软按照自己定义的ActiveX Scripting规范完全从头开始写成的脚本语言,虽然它的语法结构和VB非常相似,但VBS仅仅依靠自动化对象来扩充其功能(只有后期绑定),它不能用implements来实现接口,不可能在VBS里直接使用API,没有VarPtr这样能得到指针的函数,而VBS缺少的这些功能正是VB和VBA所特有的。当然,这不是说VBS不如VB或VBA,Windows已经为VBS提供了足够强大的功能,我们可以用VBS来做脚本COM组件,而且借自动化对象的能力VBS可以说能力无限,所以有病毒用VBS来写,对程序员来说VBS最重要的功能莫VBS和VBA的不同
VBScript(Microsoft Visual Basic Script Edition),也缩写为VBS.,微软公司可视化BASIC脚本版).语法基于Basic. 脚本语言,在网页中用的较多。 Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。在office中应用较多。标签:vba MicrosoftOffice 信息技术 MicrosoftExcel vbs
相关文章
- 详细阅读
-
OPRemovba_chs这款软件好用吗详细阅读
我的word文档密码忘记了,现在打不开,请问怎么办呀?以Word文档2007以下版本的为例:1、打开OPRemovba_chs,打开后在箭头位置,打开选择自己要找回密码的word文档。2、选择之后,移除密
-
VBA 表格按某一列的日期数据作升序详细阅读
EXCEL表格无法正确排列日期顺序具体操作步骤如下:一、在数据工作表,可以看到,日期排列很不规范。二、在排序之前,首先要确定的是日期,是否可以排序,因为日期有两种形式,一种是文本,
-
请问这段vbs代码在如图所示系统中详细阅读
vbs执行外部程序出现错误找不到原因ws.run"C:\Program Files\AliWangWang\AliIM.exe" 楼上老大正解。就是路径里有空格导致的。 如果楼主非要用这一句的话,要在两边再加一对
-
vbs密码输入框代码详细阅读
如何让vbs只有在输入指定数字时才运行(类似于密码输入框)这个非常简单,复制代码:
dim i
i=inputbox("请输入密码")i=int(i)if i=1234 thenmsgbox "您输入的正确!"elsemsgbox "对 -
请问,如何用C++实现VBS中sendkeys函详细阅读
怎样用VBS sendkey实现同时按键 ctrl+alt+delete?你好,根据我的判断,你是希望通过VBS的SendKeys函数发送组合键Ctrl+Alt+Delete来打开任务管理器.通过实验,使用VBS的SendKeys
-
用VBA判断101-200之间有多少个素数详细阅读
VB编写程序,判断101-200之间有多少个素数,并输出所有素数Private Sub Form_Click() Dim N As Integer, x As Integer, i As Integer, k As Integer, s As Integer N = 0 s = 0
-
以后想往量子通讯量子信息技术方面详细阅读
研究量子通讯大学选什么专业?研究芯片呢?做研究一般来说需要研究生毕业。 涉及通信和芯片的专业有很多。 通信的话,需要学电子学,电磁波,高数,编程,英语,这些基础课。 量子的话,需要
-
求助 vba 代码编程 有高手吗?详细阅读
求教vba高手!!分太少了,不可能每个题都给你写,写几个Sub第1题()
Dimn%,x%
n=Application.InputBox("请输入N值:",,,,,,,1)
Ifn=FalseThenExitSub
Forx=1Ton
IfxMod2=1Then
sum=s -
vbs,为什么它提示48行1字符语法错误详细阅读
我写了一个vbs软件,但提示语法错误,怎么改?修改版:OnErrorResumeNext
DimOctober,P,Ocript
setOcript=WScript.CreateObject("wscript.shell")
October=InputBox("千万别填10",