文章背景:最近在查看同事写的VBA代码时,发现了DTPicker日期控件。...DTPicker是日期选择控件,自Win7开始,它就不是Windows系统自带的,需要下载MSCOMCT2.OCX,并在电脑上注册后才能使用。...因此,在使用DTPicker日期控件之前,需要检查下电脑上office软件的版本是否是32位的。 针对32位的office软件,若要使用DTPicker日期控件,需事先进行如下三步操作。...对于64位的windows系统,代码语句为:regsvr32 C:\Windows\SysWOW64\mscomct2.ocx。..." & dateVariable End Sub 控件使用的视频演示:http://mpvideo.qpic.cn/0bc3ymabcaaazuamlkzaprrfbq6dchbqaeia.f10002
一.while循环 语法结构 while(表达式) 循环语句; 循环的判断部分:条件符合循环继续,不符合循环终止。...在while循环中continue的作用是跳过本次循环后面的代码,直接到判断的部分。break的作用是永久的终止循环,只要遇到break,循环就终止。这两个在这里就不掩饰了。...二.for循环 语法结构 for(表达式1;表达式2;表达式3) 循环语句; 表达式1:初始化部分,用于初始化循环变量; 表达式2:判断部分,用于判断循环是否终止; 表达式3:调整部分,用于循环条件的调整...三.do…while()循环 语法结构 do 循环语句; while(表达式); break和continue的作用与在while循环语句的作用一样。
一.if语句 语法结构 1.if(表达式) 语句; 例: 2.if(表达式) 语句1; else 语句2; 例: 3.if(表达式1) 语句1; else... if(表达式2) 语句2; else 语句3; 例: 二.switch语句 switch(整型表达式) { 语句项;//由case构成的语句项 } 如:...case 整形常量表达式; 语句; 例: 在switch语句中没办法直接实现分支,所以需要搭配break(在英语中有结束的意思,所以在这个地方有结束循环的意思)才能够实现分支。 ...default: 当switch表达式的值并不匹配所有case标签的值时,就会执行default后面的语句,每个 switch语句中只能出现一条default子句,它可以出现在语句列表的任何位置。
目录 条件语句(if else)的简单介绍 if…fi语句 if…else…fi语句 if…elif…[else…]fi语句 ---- 条件语句(if else)的简单介绍 如果你在用shell...完成一些逻辑判断的时候,可能会用到if…else之类的条件语句。...但是,shell中非同寻常的语法会让你每次都需要在网上重新查询确认。在shell中,即使是一些标点符号,通常也有自己的含义。现在列举下if条件语句中一些基础语法。...中括号[]的含义 在if语句中,[]不是简单的条件分隔,它本身的含义是相当于命令test。在shell中,test用于检查某个条件是否成立,它的返回值为bool。...这类语句只有一个条件判断,如果判断条件是true,那么就执行,否则跳过。
当需要使用某个程序的时候,就一时会找不到。当然一般可以通过电脑的左下角“开始”去找到程序。...这里介绍使用VBA程序来找的方法,一个程序在安装的过程中,一般都会需要管理员权限,这是因为程序的安装一般都要在注册表中写入一些信息,而操作注册表需要管理员权限。...这些写入的信息就包括在安装过程中我们选择的程序安装路径,所以只需要使用VBA去读取相应的注册表信息就可以找到程序的安装路径: Function GetAppPath(AppName As String...) AppName = VBA.UCase$(AppName) If VBA.Right$(AppName, 4) ".EXE" Then AppName = AppName &...CurrentVersion\App Paths\" & AppName & "\Path") If Err.Number 0 Then GetAppPath = "没有找到[" & AppName & "]的安装路径
今天发现了个用EXCEL下载文件的实例,看起来很不错,收藏一下。...Application.EnableEvents = False On Error Resume Next MkDir ThisWorkbook.Path & "\Downloads" '图片文件的存放目录...ThisWorkbook.Path & "\Downloads\" For i = 2 To Sheet1.Range("a65534").End(xlUp).Row 'A列中存放着图片的文件路径...ADODB.Stream") .Type = 1 .Open .write ie.Responsebody 'B列存放着新的文件名
标签:VBA,表 在Excel中,有时候你可能希望在VBA代码的帮助下动态创建表,然后在该表中进行更多的数据操作。下面是几段代码。...下面的过程将删除表,但保留表的格式,使其看起来像一个表,但执行起来像正常的Excel单元格区域。...Sub RemoveTable() Sheet1.ListObjects(1).Unlist End Sub 下面的代码删除表和表的格式,因此就像一个包含常规数据的工作表。...创建表后使用表名有助于以后引用表。...Dim strName As String strName = Sheet1.ListObjects(1).Name End Sub 注:本文学习整理自thesmallman.com,供有兴趣的朋友参考
标签:VBA 有时候,不一定会查找到精确的值,如果是这样的话,应该可以找到最接近的值。有很多公式可以实现,然而本文不使用公式,而是使用VBA代码来实现。...下面的VBA代码将遍历一系列单元格,并评估最接近的匹配值。...As Range Dim r As Range Dim Mx As Single Dim i As Long Dim target As Integer '要查找的值所在的单元格...(目标匹配的数字)和被评估单元格中的数字之间的最小数字。...如果两个值之间的差为零,则有匹配项,否则,范围内最接近零的数字是最接近的匹配项,因为该数字是最接近的。 本示例中,评估的数字在列B中,你可以根据需要进行更改。
1 到 3,直到表 t1 的末尾循环结束。...结论: 使用 join 语句,性能比强行拆成多个单表执行 SQL 语句的性能要好; 如果使用 join 语句的话,需要让小表做驱动表。...第一个问题:能不能使用 join 语句?...结论: 以上两种算法是由能否使用被驱动表的索引决定的。而能否用上被驱动表的索引,对 join 语句的性能影响很大。...如果可以使用被驱动表的索引,join 语句还是有其优势的; 不能使用被驱动表的索引,只能使用 Block Nested-Loop Join 算法,这样的语句就尽量不要使用; 在使用 join 的时候,应该让小表做驱动表
使用场景一 为了兼容64和32的Excel VBA,在声明API的时候我们一般会用到条件编译: #If Win64 Then Private Declare PtrSafe Function...平时写一些简单的VBA代码,偶尔有些小的错误,使用简单的Debug.Print就能够解决。...但是,如果程序复杂了,代码函数很多,分割的Sub、Function很多的话,在各个Sub、Function内部都可能出现Bug,这种时候如果还是使用Debug.Print的方式来调试的话,一旦程序写好了...: #Const 条件编译 = 1 这个条件编译常量就是一个开关,设置为0或者直接注释掉(注释掉也不会报错),所有使用了这个条件编译常量的条件编译代码都不会执行,反之就执行需要的调试代码。...这样就使用一个开关就控制了各个Sub、Function内部的调试代码,而且官方文档也说明了,这种代码是在条件编译期间排除的代码将在最终的可执行文件中完全省略,因此它不影响大小或性能。 ?
SAP WM Picking Area的使用 SAP WM模块里的Picking Area不是一个必须的warehouse organization structure元素,很多SAP项目根本不用它。...碰巧的是,笔者现在所在的项目里有定义好几个picking area,这引起了笔者的兴趣与好奇。...1,如下的菜单路径是配置Picking Area的, 2, 在Storage Bin的主数据里,可以为其指派Picking Area....Picking Area是SAP WM的一个对象,位于Storage Type之下,用于将Storage Bin分组,方便在下架业务里对物料做拣配。...SAP标准系统里,没有预设任何的picking area,可见它不是一个经常被使用到的object。 对于大型仓库而言,它可以对应于货架的巷道。
标签:VBA,Evaluate方法 假设我们只想复制工作表中指定列的数据,例如第1、2、5列的数据,有多种实现方法,这里介绍使用数组的VBA代码实现。...数组和行都是固定的。如何针对不同的行使其成为动态的?为了涵盖数据集,假设在声明lRow变量后,数组(ar)可以是: ar=Range(“A1:F”& lRow) 但如何对行执行此操作?...可以利用Excel的Evaluate功能来生成灵活的行和列组合。VBA的rows.count命令可以确定区域内数据的终点,并存储该区域,以便在Index公式中使用。...,但有一个优点,即灵活地基于列的长度。...你可以根据实际数据范围和要复制的列,稍微修改上述代码,以满足你的需要。
标签:VBA 在上篇文章:创建可调大小的用户窗体——使用Windows API中,我们使用Windows API实现了允许用户可以调整用户窗体的大小。本文仅使用VBA来实现同样的效果。...本文的代码整理自exceloffthegrid.com,供有兴趣的朋友参考。...VBA解决方案:用户窗体包含一个对象,单击该对象时会记录鼠标的位置;随着鼠标的移动,用户窗体及其对象将根据新的鼠标位置重新定位或调整大小;当释放鼠标按钮时,停止移动以调整大小。...图1 其中,放置了三个元素:一个名为lstListBox的列表框,一个名为cmdClose的命令按钮,一个名为lblResizer的标签。...首先,它将检查窗口是否大于允许的最小大小,以及鼠标是否已被单击。如果两者都为True,则会根据鼠标移动的大小重新定位或调整UserForm和对象的大小。
查找重复值、移除重复值,都是Excel中的经典问题,可以使用高级筛选功能,也可以使用复杂的公式,还可以使用VBA。...在VBA中,也有多种方式可以移除重复值,这里介绍RemoveDuplicates方法,一个简洁实用的方法。 示例数据如下图1所示,要求移除数据区域A1:D7中第3列(列C)中的重复值。...图1 实现的VBA代码如下: Sub RemoveDuplicates() Dim rngRange As Range Dim lngLastRow As Long lngLastRow...如果想要指定多个列,使用Array函数: Range("A1:E15").RemoveDuplicates Columns:=Array(3, 5), Header:=xlYes 此时,如果这两列中的值组合是重复的...可以使用3个值:xlYes,xlNo和xlGuess。
SAP QM Multiple Specifications的使用 SAP QM Multiple Specifications(缩写为MS)代表单个检验特性的不同检验规格。...在决定如何使用批次时,该信息用于确定产品的适用性/可接受性。 通常,可以使用Multiple Specifications来根据特殊规格确定批次的适用性。...对每件物品的批次进行整体评估,确定批次是否可以交付给特定客户或在特定条件下使用。 这个功能看起来很强大,不过在笔者参与的那些项目,包括一些制药行业里的Global项目里,都没有使用该功能。...也就是说,该功能在项目实践中并不是一个经常被使用的功能。在当前项目上,客户海外工厂的质量部门突然找到我,让我帮忙解释下SAP系统中Multiple Specifications的功能该如何使用。...为了应对客户方的需求,笔者就花了一些时间去查资料,做了一些功课,写下这篇文字。 Part I:后台配置 SAP系统要使用这个功能,需要后台做相关的配置。
这是一个很有趣的技巧!可以通过你给定的文件名来获取计算机中可以打开该文件的EXE程序,即可执行程序。有时候,我们可能真的需要找到可以打开指定文件名的EXE程序,然后打开它。...或者,要看看计算机中是否有可以打开指定文件名的EXE程序,然后好决定做下一步的操作。...实现获取计算机中可以打开指定文件的EXE程序的代码: 'API声明 Declare Function FindExecutable Lib"shell32.dll" Alias "FindExecutableA...应用程序,使用代码: MsgBox ExePath(ThisWorkbook.FullName) 结果如下图1所示。...也可以指定一个文件来获取其EXE程序,例如: MsgBox ExePath(ThisWorkbook.FullName) 运行后的结果如下图2所示。 ?
为什么80%的码农都做不了架构师?>>> ?...namedParameterJdbcTemplate.queryForList(sql, parameterSource, String.class); return permissionList; } jdbcTemplate 使用...NamedParameterJdbcTemplate 参数使用 MapSqlParameterSource 进行封装 sql 语句中使用 in (:mapkey),mapkey是MapSqlParameterSource...中的key
SAP系统的脚本录制功能,支持VB Script,可以将屏幕操作记录下来,转换成VB Script代码,VB Script代码编辑修改后可用在office软件中的vba中,可以批量进行数据处理。...找到存放脚本的文件夹,如果未修改,脚本默认名称为Script1.vbs ? 5.使用记事本格式或装vb打开录制脚本 ?...只需要复制上图红色框部分内容到EXCEL的VBA代码中。...7.在EXCEL“开发工具”--“VBA代码”里将脚本复制到vba编辑器, 添加FOR循环,达到批量修改的目的,把物料编码修改为表格的第1列,把计划交货时间修改为表格的第2列 ?...8.最后,点执行按钮,即可进行SAP的批量数据更新处理 ?
'这个工作簿.工作表Sheet1.单元格A1.选择 '等同于: With ThisWorkbook.Sheets("Sheet1") .Parent.Activate '这个对象的父对象即...激活 .Select '这个对象即ThisWorkbook.Sheets("Sheet1").选择 .Range("A1").Select '这个对象的子对象...Range("A1").选择 'Range("A1")也可以写成[A1] End With 'With就是为了把点前相同的内容写在一个位置方便修改与阅读 End Sub
领取专属 10元无门槛券
手把手带您无忧上云