随笔分类 - excel/宏/vba
摘要:字符串与日期相互转换 VB使用 CDate 函数将字符串转换成 Date类型 s1 = "2000-01-01" d1 = Cdate(s1) VB使用 format 函数将日期转换成字符串类型 d1 = format(now,"yyyy-MM-dd") 获取年月日时分秒 获取一个日期的年月日时分秒
阅读全文
摘要:1.判断工作表是否处于自动筛选模式 Sheets("sheet1").AutoFilterMode 值有两个,True和False 值为True 则表示当前workbook的sheet1处于自动筛选模式,值为false 则表示当前workbook的sheet1不处于自动筛选模式 示例: 如果工作表处
阅读全文
摘要:如果快捷键未生效,可能是与输入法快捷键冲突 Ctrl+~ “公式”和“结果”两种显示模式进行切换 Ctrl+; 输入当天日期 Ctrl+空格 选中当前所有列
阅读全文
摘要:1.设置边框 录制一个宏——excel选定区域设置所有框线,我们会发现录制出来的代码是每条线分别设置的 VB没有一个简单的一句命令来给选中的区域加外边框,有一个另外的方法BorderAround让你在单元格区域添加边框和设置颜色,线型和新边框的粗细。 下面的语句是VBA中给选中的单元格设置外围粗边框
阅读全文
摘要:如果excel中有一列数据存在数字和文本两种格式,但只需要选中文本格式的数据。可以通过在相邻列写入函数 =ISTEXT(单元格) 来判断,之后筛选即可,如下 如果数据分布不规律,则可以通过excel的定位来实现: 先选中一个单元格,然后点击开始菜单,再点击最右侧查找和选择菜单,点击转到(F5或Ctr
阅读全文
摘要:vba代码中,可以设置定时器。方法是 application.ontime ,具体函数如下: expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule) 这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也
阅读全文
摘要:一、尽量使用VBA原有的属性、方法和Worksheet函数 set xx=Nothing 二、尽量减少使用对象引用 set xx=Nothing 每一个 Excel 对象的属性、方法的调用都需要通过 OLE 接口的一个或多个调用,这些 OLE调用都是需要时间的,减少使用对象引用能加快VBA代码的运行
阅读全文
摘要:打开workbook https://learn.microsoft.com/zh-cn/office/vba/api/Excel.Workbooks.Open expression.Open (FileName , UpdateLinks , ReadOnly , Format , Passwor
阅读全文
摘要:1.根据日期筛选 如下excel数据,A列为日期格式,D列为常规格式,单元格最前面有单引号 ' EXCEL数字前加单引号可以把数字当成文本来处理,输入的是什么,展示的就是什么 对B列进行筛选的vba语句为 ActiveSheet.Range("$A$1:$D$13").AutoFilter Fiel
阅读全文
摘要:求平均值函数 =AVERAGE(A2:A10) '求A2到A10单元格的平均值 IF判断真假 =IF(D2="测试值1",1,0) 'D2的值为D2"测试值1"则返回1,否则返回0 逻辑关系或与且 且是AND(参数1,参数2,…),或者是OR(参数1,参数2,…) =IF(OR(D2="测试值1",
阅读全文
摘要:数组是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标进行。在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。定义规则如下: Dim 数组名([lower to ]upper [, [lower to ]upper, ….]) as type ;Low
阅读全文
摘要:文件Dir[(pathname[,attributes])] ;pathname 可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 (""); attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果
阅读全文
摘要:一.测试函数 IsNumeric(x) ‘是否为数字, 返回Boolean结果,True or False IsDate(x) ‘是否是日期, 返回Boolean结果,True or False IsEmpty(x) ‘是否为Empty, 返回Boolean结果,True or False IsAr
阅读全文
摘要:过程是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。 VBA具有四种过程:Sub 过程、Function函数、Property属性过程和Event事件过程。 1、Sub过程总是以“sub 过程名()”开头,以“End Sub”结尾,Sub过程不返回运行的结果。
阅读全文
摘要:执行阶段有时会有错误的情况发生,利用OnError语句来处理错误,启动一个错误的处理程序。语法如下: On Error Goto Line ‘当错误发生时,会立刻转移到line行去 On Error Resume Next ‘出错继续。当错误发生时,会立刻转移到发生错误的下一行去 On Erro G
阅读全文
摘要:建议不要轻易使用下面的语句,虽然 VBA 还支持。 (1)Goto line 该语句为跳转到line语句行 (2) On expression gosub destinatioinlist 或者 on expression goto destinationlist 语句为根据 exprssion表达
阅读全文
摘要:(1)For Next语句 以指定次数来重复执行一组语句 For counter = start To end [Step step] 'step 缺省值为1 [statements] [Exit For]’退出for循环 [statements] Next [counter] 如: For Wor
阅读全文
摘要:With…End With 语句,目的是省去对象多次调用,加快速度; 语法为: With object [statements] End With 每一个 Excel 对象的属性、方法的调用都需要通过 OLE 接口的一个或多个调用,这些 OLE调用都是需要时间的,减少使用对象引用能加快VBA代码的运
阅读全文
摘要:除了If语句,vba还有其他判断语句 (1)Select Case…Case…End Case语句 如1: Select Case Pid Case “A101” Price=200 Case “A102” Price=300 …… Case Else Price=900 End Select (2
阅读全文
摘要:1.标识符命名规范 (1)字母打头,由字母、数字和下划线组成,如A987b_23Abc (2)字符长度小于40,(Excel2002以上中文版本等,可以用汉字且长度可达254个字符) (3)不能与VB保留字重名,如public,private,dim,goto,next,w
阅读全文