自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

叶雪青的博客

虽然我质量差,但是我数量多呀

  • 博客(36)
  • 收藏
  • 关注

原创 VBA 连接mysql数据库 查询操作

今天主要说说VBA连接mysql数据库如果连接其他数据库,可以在打开EXCEL后,点击数据选项卡——获取外部数据即可。因为excel自带没有mysql数据库,所以呢,今天主要是利用ADO操作mysql数据。mysql安装后的基本设置可以参考昨天mysql的内容。https://blog.csdn.net/Di77HaoWenMing/article/details/108700531下面开始vba连接mysql啦一、ADO是啥ADO (Act...

2020-09-21 23:16:05 5050 4

原创 VBA 校验身份证号

今天继续做个小练习啦~之前学过了一下正则表达式判断身份证号码是否正确,这里呢就比较简单,单纯用很多函数进行判断啦,内容不难,就是很繁琐~先看看实现效果,这里生成了一些随机的错误身份证号进行参照:Option ExplicitSub sfz() Dim i As Integer Dim rng1 As range, rng2 As range Dim sh As Worksheet Dim total As Integer Set sh = Sh

2020-08-30 21:39:21 3041 1

原创 VBA 遍历所有文件夹内容

今天讲讲VBA遍历所有文件夹,之前提到过,感觉这个很是实用,以为如果要批量导入的话,能遍历操作效率杠杠的一、VBA遍历单个文件夹下面的所有内容之前已经学过,再把代码贴一下,主要是通过Dir实现:Private Sub bianli(str As String) '遍历功能实现区 Dim fil As String fil = Dir(str & "\*") Do While fil <> "" MsgBox..

2020-08-28 23:14:56 5830 4

原创 VBA 利用正则表达式筛选数据

先讲讲其他的小栗子一、批量制作工资条表头以运行也没发现下面的代码什么问题,但就是慢得出奇,还有更好地方法还请小伙伴告知一下哟~Sub gz() '批量添加工资标题 Application.ScreenUpdating = False Dim i As Integer Dim myRow As Integer Dim sh As Worksheet Set sh = Sheets(1) myRow = sh.Range(.

2020-08-27 21:43:56 2023 2

原创 VBA 复制粘贴很多数据比较慢怎么办

今天继续讲讲练习啦~这几天的内容实在有点水,主要是杂七杂八事比较多,耽误了蛮多时间,后面争取多找找资料,写点干货VBA复制几十万行太慢怎么办?怎么提升效率其实之前讲过啦~比如创建一个20万行*20列的数据,复制到另一张表,怎么样创建比较快呢?要是想着循环20万次,每次都赋值一次到单元格,那可就太慢了,最好就是先循环赋值给数组,再讲数组的值赋值给单元格,这样几秒钟就可以搞定咯~Sub myCreate() '在sheets(1)上随机生成20万*20列的数据(大概3-4秒完.

2020-08-26 23:59:35 3490

原创 VBA 拷贝并粘贴内容

由于有点学习得比较仓促,很多内容运用得不熟练,现在开始呢对部分问题试着自己解决一下,今天先来个简单的,后面慢慢加大难度。点击Sheet1里面的内容,自动显示Sheet2表格对应内容。sheet1功能:sheet2内容:解决思路:(1)用户点击Sheet1的B2到B6单元格时,触发SelectionChange事件,点击其他地方不触发;(2)根据sheet1点击的内容,筛选sheet2里面B列数据(3)把sheet2的数据复制到sheet1的显示区域。(4)把复.

2020-08-25 23:32:31 5552 2

原创 VBA 创建和使用加载项

今天讲点新的东西——创建和使用加载项,不过内容会有点无聊,因为都是文字内容一、什么是加载项最有用的功能之一,增加了工作的专业度,提供了一些关键优势。+1.和标准工作簿的比较所有工作簿文件都可以转换为加载项,但是不是每一个工作不都是和用作加载项。EXCEL加载项是一个常规的XLSM工作簿,与标准工作部的区别:(1)ThisWorkbook 对象的IsAddin属性为True,默认情况下,改属性为False(2)工作簿窗口隐藏后,不能通过选择“视图——窗口——取消隐藏”命令显示窗.

2020-08-24 21:58:06 4715

原创 VBA 用户窗体的应用(二)

今天继续讲用户窗体的应用啦.一、文字版进度条昨天的进度条都是现实长度的那种进度条,有时候安装或者卸载文件,我们会发现有个文字型滴进度条,如何实现呢?Sub processFile() Dim sFile As String, lfile As String Dim path As String Dim i As Integer path = "E:\新建文件夹\达拉崩吧\黑白\" sFile = Dir(path) .

2020-08-23 23:59:23 1012

原创 VBA 用户窗体的应用

用户窗体,今日继续~每次都是一样的标题,这次换了下一、使用外部控件做个简单的音乐/视频播放器对着工具栏点一下右键,就会出现附加组件,找到需要用的外部组件就可以啦,比如咱们要做个视频播放,只需要在附加组件中添加 WindowsMediaPlayer即可,结合昨天我们的列表框,做个简单的音乐或者视频播放器:具体代码如下(CommandButton1 是播放按钮,CommandButton2是打开文件夹按钮):Private Sub CommandBut...

2020-08-22 21:50:36 2209

原创 VBA 用户窗体的认识(四)

今天继续讲用户窗体的列表框控件,因为内容实在多,所以单独一章一、添加条目之前提到过列表框添加项目的用法Private Sub UserForm_Initialize() With Me.ListBox1 .AddItem "1号选择" .AddItem "2号选择" .AddItem "3号选择" .AddItem "4号选择" .AddItem "5号选择" End WithEnd S..

2020-08-21 23:41:44 2665

原创 VBA 用户窗体的认识(三)

今天继续讲讲用户窗体的操作啦一、禁用关闭按钮先认识一下QueryClose 关闭前执行事件:Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)这个事件是在用户窗体关闭之前发生。第一个参数Cancel :默认是0,除了0之外的任何数都会停止QueryClose事件;第二个参数CloseMode:有以下四个参数。这个参数的意思是关闭这个程序的方式有哪些,比如说用户点了右上角的X,或者..

2020-08-20 23:02:16 2659 2

原创 VBA 用户窗体的认识(二)

今天继续讲用户窗体啦~一、控件事件昨天通过小例子,认识了按钮的点击事件(CommandButton1_Click),除此之外,还有部分控件常用事件。添加完控件后,双击一下,在上面下拉就可以查看到事件啦。1.、UserForm的事件① Initialize:初始化事件② Activate:显示用户窗体时发生③Deactivate:窗体非激活的时候发生,但是隐藏了不会发生④QueryClose:卸载用户窗体之前发生⑤Terminate:卸载用户窗体之后发生2.、S.

2020-08-19 23:24:04 4719

原创 VBA 用户窗体的认识

今天学的是VBA用户窗体~可算到这里来,有点以前大学学VB的味道了一、插入新的用户窗体插入用户窗体很简单啦,在VBE的工程下右击选择插入——用户窗体就可以了。如果下面这个工具箱关闭了,可以在菜单栏的视图里面调出来二、认识工具箱中的控件我们根据这张图,从上到下依次说一下:第一排:①箭头:移动按钮,可以移动其他控件②标签:Label,只显示文本③文本框:TextBox输入文本的④复合(组合)框:Combox 与ListBox不同,允许输入没有出现..

2020-08-18 21:19:49 4591

原创 VBA 自定义对话框

今天主要讲讲自定义对话框这一章,中间鸽了一小部分的函数过程,WindowsAPI、连接数据库的内容还没学,后续再更新。一、inputboxinputbox输入框之前已经用过了,但是除了之前VBA中用的inputbox之外,还有Application对象中的方法,这两个是不一样的。①VBA中的inputbox函数用法: Dim str As String str = InputBox("请随便输入一串字符串")VBA中的inputbox函数完整方法:InputBox.

2020-08-17 22:09:45 3188 1

原创 VBA 和其他应用程序交互(二)

今天继续讲讲和EXCEL VBA和其他应用程序交互吧一、利用word的邮件功能生成多个页面假设EXCEL中有这些内容,每一行数据都需要在word中单独生成一页如果word需要一张一张做需要蛮久,还可能出错,利用Word的合并邮件功能,可以一次性把这些邮件全部发送,具体代码如下:Sub wordMailMerge() Dim wd As Word.Application Dim wdDoc As Word.Document Dim myRng As Exce.

2020-08-16 23:10:09 2878

原创 VBA 和其他应用程序交互

今天主要学学VBA 和其他应用程序的交互一、了解绑定的概念每个Office程序都有各自的对象库,也就是每个程序可用的对象、方法和属性、所以要能使EXCEL访问另外的Office程序,就需要将另一个Office程序绑定起来。分为两种:早期绑定、后期绑定①早期绑定需要显式地将客户端应用程序指向服务器端应用程序的对象库优点:比后期绑定快、可以在对象浏览器完全访问服务器端应用程序的对象模型、可以使用智能提示、可自动访问服务器端应用程序内置常亮使用方法:VBE中选择“工具”——“引..

2020-08-15 20:52:56 2878 2

原创 VBA 图表的基本操作(三)

今天继续讲讲VBA图表的相关内容一、删除图表①假设sheet1上面有个图表,要删除的话,代码如下:Sub demo() Sheets("Sheet1").ChartObjects(1).DeleteEnd Sub②如果是单独的一张Chart,要删除的话直接把Chart删除就可以啦:Sub demo() Sheets("Chart1").DeleteEnd Sub这样删除会弹出一个警告框,如果不需要弹出警告框可以加一句:Sub demo() .

2020-08-14 22:28:30 3830

原创 VBA 图表的基本操作(二)

今天继续讲讲VBA图表的相关操作一、在图表工作表上创建图表(看起来有点拗口,也就是在Chart上创建一个图表)插入图表的方式:打开工作簿后,对着sheet点一下右键——插入——选择图表。①昨天主要是讲了VBA创建在sheet上面的图表,如果单独在Chart上创建图表的话,用Charts的add2方法就可以了: Charts.Add2②创建完了如果需要引用数据的话,可以和昨天一样引用数据:Sub demo() Dim myChart As Chart ..

2020-08-13 23:26:06 6448 1

原创 VBA 图表的基本操作

不知不觉已经学习VBA大半个月了,数据透视表的内容已经学完了,回想一下,demo做得还是比较少,匆匆学完没有练习,很多内容还不熟练,不过为了保持学习的连贯性(当然了,主要是不停地往前学不做练习比较简单),咱就先把书上的内容全学了,再慢慢做练习吧。本章主要是学习VBA生产图表。首先假设有这样的一些数据:一、生成图表前,先看看工作表sheet对象的层次结构:Application Workbook Worksheet①如果图表是在sheet上的话,层次结构是.

2020-08-12 23:46:07 9844

原创 VBA 数据透视表再了解

今天继续讲讲VBA数据透视表的内容。在昨天插入透视表的内容基础上,增加一点学习内容。一、如果需要增加一列原来表上没有的内容,比如说“利润”。假设利润 = 原始数据表上面的收入-费用,怎么操作呢?主要代码和昨天的内容差不多,新增了2句话, pt.CalculatedFields.Add "利润", "=收入-费用" pt.PivotFields("利润").Orientation = xlDataField完整代码如下所示(第四步是新增的公式列)Option .

2020-08-11 23:15:53 2305 2

原创 VBA 数据透视表的初步认识

今天讲讲数据透视表,因为理解上花了一点时间,内容会比较少。为了测试,先新建了一张这样的表为了看看VBA中新建透视表的代码,框住上面的表格,插入了一张透视表,录制后的内容及代码如下:Sub 宏1()'' 宏1 宏'' Range("A1:E23").Select Range("E23").Activate Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase..

2020-08-10 22:50:32 4138 1

原创 VBA 部分实用函数

今天的学习课程一共是两个,一个是把昨天提到的常用的函数写一遍,另一个是学习一些新函数一、昨天提到的相关函数https://blog.csdn.net/Di77HaoWenMing/article/details/1078867451.判断文件是否存在的函数 FileExists文件是否存在主要是用Dir(path)进行判断,不为空留存在啦Private Function FileExistx(path As String) As Boolean FileExistx ..

2020-08-09 21:53:35 828

原创 VBA 一些函数实现思路

今天是2020年8月8日,距离北京奥运会已经过去了12年,当然了,一贯对节日不敏感,所以也没有特别的感觉是。。。主要是今天回了老家,家里没电脑,很多demo无法测试一下,怕发出来的运行不了那就贼尴尬了,所以VBA学习进度也是得拖到明天了。今天先讲讲要学习的大纲:一些用于代码中有用的函数1.判断文件是否存在的函数 FileExists文件是否存在主要是用Dir(path)进行判断,不为空留存在啦2.根据路径只获取文件名称 FileNameOnly主要思路是根据文件的路径地址,截取最右边的小数点 .

2020-08-08 22:05:25 383

原创 VBA 工作簿和工作表的简单操作

先讲工作簿和工作表的相关操作。一、工作簿和工作表的相关操作1、保存工作簿Sub SaveWorkBooks() Dim book As Workbook For Each book In Workbooks 'path等于空说明是新文件,就不保存 If book.path <> "" Then book.Save Next bookEnd Sub改进一下,判断保存过又没有修改的,就不保存了,提高一下效率Sub Sa

2020-08-07 21:04:34 1037

原创 VBA 单元格基本操作 - 值的相关操作

今天还是讲讲单元格操作一、删除空行如果是上面的表格要删除空行的话,我们想到的是先删掉第1行,再第2行,再第3行……但是对于程序来说,删完第1行后,第2行就变成了第1行后面就会出错,所以我们先从后面24行开始删除,然后是20行、15行,这样删除后原来的行数仍然不会受到影响。Sub DeleteEmptyRow() Dim totalRow As Long Dim beginRow As Long Dim endRow As Long Dim..

2020-08-06 22:43:34 1617

原创 VBA 单元格基本操作 - 值的判断

继续讲讲单元格的操作一、提示用户输入值Sub SetValue() Sheets("sheet3").Range("a1") = InputBox("输入一个数字")End Sub运行后就会弹出个警告框,提示用户输入内容,输入后就会在A1单元格显示了,但是也存在一个问题,就是取消后呢,原来在A1单元格的内容就会被清空。所以改良一下,也把“输入数字这个功能再完善一下”。Sub SetValue() Dim myInput As Variant myInput

2020-08-05 23:21:43 8362

原创 VBA 单元格基本操作 - 复制 粘贴 区域选择

本期主要讲讲单元格复制粘贴等操作。一、复制粘贴固定区域的单元格因为以下内容都是复制单个或者固定区域的单元格内容,就不多说了,备注上面都有说明。Option ExplicitSub CopyRange() '复制单元格内容示例1 '注意:单元格的格式、公式、批注等也会被复制过去哟 Sheets(1).Range("A1").Copy Sheets(1).Range("B1")End SubSub CopyRange2() '复制单元格内容示例2,打开

2020-08-04 21:33:47 19456 1

原创 VBA 事件的初步认识(三)

今天主要讲讲事件的最后一段,应用程序事件。第一回:https://blog.csdn.net/Di77HaoWenMing/article/details/107738298第二回:https://blog.csdn.net/Di77HaoWenMing/article/details/107741716三、常用事件的实际操作3.应用程序事件话不多说,先把常用的事件Down一份下来应用程序事件的启用稍微要复杂一点,步骤如下:①点击工程资源管理器右...

2020-08-03 22:40:28 888

原创 VBA 事件的初步认识(二)

昨天工作表事件中的Change事件还没结束,今天继续。接着昨天内容 https://blog.csdn.net/Di77HaoWenMing/article/details/107738298三、常用事件的实际操作2.工作表的事件2.2 Change事件的实际操作。2.2.1如果不加以设置的话,只要有变动就会触发,但是实际情况是我们一般要求特定区域的单元格需要加事件进行处理,所以如何对特定单元格或区域进行设置是很重要滴,实现特定区域代码如下:Private Sub Work...

2020-08-02 21:39:53 1060

原创 VBA 事件的初步认识(一)

今天是八一建军节,先向人民子弟兵致敬。今天主要是学习了Excel的事件,下面讲讲个人学习总结。一、EXCEL中的事件类型EXCEL中插入事件宏比较简单,点一下工程资源管理上的sheet、chart或者Thisworkbook等等,然后在代码框下拉箭头选择worksheet、chart或者workbook,右侧就有很多的事件可以选择了。因为大多数操作都和工作簿有关,所以工作簿的事件会比其他的表或者图的事件要多一些。那么事件好几十个,怎么去学习好这些事件呢...

2020-08-01 22:59:47 2200

原创 VBA 函数参数和结果输出的二三事

想说的都写在批注了,就不多写了。'带有一个参数的函数Function CAL(a) As Double Select Case a Case Is > 100: CAL = 100 Case 55 To 100 CAL = 55 Case Else CAL = 0 End SelectEnd Function'带1个参数写1个,带2个写2个,多个的话.

2020-07-31 21:44:09 1532

原创 VBA Function过程的初步认识

今天学到了函数过程这一章,学到了这里才发现此前出现了“sub”称为了函数过程的错误,在此说明一下,原文章内容就不改了,就当做学习过程中出现的问题,以后当个警戒我认为函数过程这章的内容还是比较新奇的,因为在宏内写完一个函数过程后,就能在EXCEL里面输入=f(x)实现功能,不用点运行,不用在宏里另外再设置,还是有点用处的。首先是先说说function过程和sub过程我个人认为比较相似和不相似的几点内容吧相似点:1.结构相似。Function/Sub 名称(参数)语句en..

2020-07-30 23:12:57 1676

原创 VBA对数据表进行拆分(分列)及保存

同事经常遇到问题,这个按照部门进行分类,还要进行保存,好麻烦,每次手动都要半天,还可能出错。所以针对这个问题,用VBA写了个分列和保存的宏。一、使用前说明:1.要分列的表列中间不要出现空内容,比如要分第2列部门,里面有A部门,B部门,还有个空内容的,可能导致计算行数不准。2.分列后的表序号功能还未完善,分列后还要手动拉一下序号3.其他bug还在完善中先放效果图1.这是要进行操作的表2.运行分列的宏以第二列部门进行分列...

2020-07-29 16:42:16 6448 1

原创 VBA异常处理和工作表排序

晚上还要加班,今天就不多BB了,直接放个demo好了简单异常处理Option ExplicitSub errHandlingOne() '异常处理示例 'Err.Number对象显示错误代码,Error(Err.Number)显示于错误代码对应错误类型 'Err对象默认属性是Err.number 所以可以省略 On Error Resume Next MsgBox 1 / 0 If Err.Number <> 0 Then .

2020-07-28 19:14:32 436

原创 VBA过程调用和参数传递

昨天约了小姐姐吃饭,晚上在家又玩了会炉石,然后就拖更了,今早赶紧补上,惭愧惭愧。之前在CSDN的blink发了个动态,大致意思是要认真学好VBA,以后做表什么的会方便快捷点。然后一些小伙伴就留言建议我学python,毕竟python是近两年冉冉升起的新星,VBA没有什么大的前途,学起来浪费时间。然后昨天看到Python合并Excel表格的博客,我也是有点心痒痒,python是挺好的,各种库很多,那我为啥还选vba呢?仔细琢磨了一下,想到以下3个原因:一是目前办公室很多电脑还算比较老旧,装的系统基本都.

2020-07-28 11:05:23 3859 2

原创 VBA新手入门第一章

VBA三个字母中的VB是早在多年前就认识了,那会读大学的时候,还记得期末考试,VB程序设计潇洒地考了个满分;不过时间过了这么久,工作也没和计算机有多大关联,直到最近发现VBA对日常做表的效率提升非常大,才开始接触,学了一阵,不得不说真的是很头大。虽然都是面向对象的语言,但是VBA主要是对EXCEL表格进行操作,所以自带的类及其方法和属性实在很多,是看得头疼。因为目前还在看基础语法,不晓得后期还有没有什么亮点,所以今日份吐槽就暂时把看到的一些难以理解的地方罗列出来,希望以后慢慢在学习过程中不断进步,逐渐解惑吧

2020-07-26 18:44:09 795 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除