- 博客(41)
- 资源 (6)
- 收藏
- 关注
原创 python-RFM模型
RFM模型:根据客户消费行为的三个关键指标(R-最近一次的购物时间,F-一段时间内客户的购物次数,M-客户消费总金额)来将客户分层并针对不同层级的客户进行不同的营销策略;此次将客户分成8类(按R、F、M三个值的平均值作为阈值来进行划分),整理成函数如下:#函数:该函数将客户按RFM方法分成八类,且显示对应的营销策略(分类的阈值和等级以及对于的营销策略可以按需进行更改)def rfm_strategy(r,f,m,recently,frenquency,money): if r>..
2022-05-31 18:53:01
1059
原创 VBA-字典与数组实现去重
在实际操作中有太多的数据需要去重仅保留一条记录,在这里自己写了两个函数,测试OK,需要可以自己稍微改动就可以使用啦。1.两个数据源合并,仅取第一次出现的数据,具体代码如下,因为注释比较详细,在这里就不过多的说明,需要注意一点的是,我这里使用的数据,去重列是第二列,所以我将字典转换成数组时,是将数组的第2列等于字典的key值,为保持数据结构一致,方便循环操作。'合并去重,将数据源1和数据源2合并去重保存在数组里,arr0是用来指定去重列和保留列,使用时仅限在两个数组结构一致的情况下使用。Funct
2020-12-05 19:14:35
3184
原创 VBA-文件操作类自定义函数
1.最近对Excel文件使用较为频繁,故写了几个函数,通过调用可以实现一些基本功能,仅供参考:(1)遍历指定文件夹下所有文件,并获得文件名(如需要获得指定的文件类型,请增加一个判断条件来判断文件类型)Function get_filenamelist(rootpath As String) As CollectionDim fnameDim namelist As New Collectionfname = Dir(rootpath, vbDirectory)Do While fname
2020-08-17 22:06:01
858
原创 python-pandas笔记1(Excel文件)
1.遍历Excel所有sheet表:整体思路:获取excel所有sheet表数据--读取数据并合并成一个表--输出import pandas as pdbook='D:/VBA学习/报表生成/1_派单表20年5月.xlsx'#读取数据(整个Excel工作薄)def read_data(excel_path): data=pd.DataFrame() i=0 for excel in excel_path: df=pd.read_excel(excel_pat.
2020-08-04 11:47:08
237
原创 VBA-批量数据分类
1.近期做了一个将总表数据按一定的分类规则来拆分成几个分表的自动表格,数据源不便公布,在这里只发布代码,仅供参考:Sub classfication() Dim w0 As Workbook Dim w1 As Workbook Dim sheet1 As Worksheet Dim r0 As Range Dim r1 As Range Dim filename As String Dim rw() Dim arr1() Dim
2020-06-07 15:58:26
1020
原创 VBA-DIR函数(文件自动归档)
1.今天用dir函数做了一个自动将文件归档的程序,我们一起来看看效果,首先,文件夹里面的文件名称如下图所示,我们可以看到所有的文件名(除我们写VBA代码的表格)都符合2020.xx.xx.xlsx的格式2.我们要做的是将同一月份的表格放到一个文件夹里,当我们运行代码就会得到以下两张图的结果,所有文件都被放到对应月份的文件夹里3.接下来,看看我们如何实现吧,具体代码如下(由于注释较详细,这里就不过多说明)Sub autotest()'定义变量(文件名+集合(收集文件名名称集合))
2020-05-09 17:54:37
1707
原创 VBA-自动对账(改善版)仅供参考
1.在工作表的open事件中添加代码,用以提醒用户使用规则Private Sub Workbook_Open()If MsgBox("该工作表仅支持快递对账费用,如不是快递费用对账请关闭", vbYesNo, "温馨提示") = vbYes ThenDim w0 As WorkbookDim book1 As WorksheetDim book2 As WorksheetSet...
2020-03-10 19:55:48
2689
原创 VBA-自动筛选符合条件的数据
1.效果图如下2.我们可以看到符合条件---即入住日期刚好满7天的数据信息被筛选出来3.代码如下Option ExplicitDim w0 As WorkbookDim book0 As WorksheetDim book1 As WorksheetDim r0 As RangeDim r1 As RangeSub 自动筛选符合条件的信息()Set w0 = Act...
2020-03-09 20:20:11
13900
原创 VBA-合并多个工作簿
1.首先我们理清思路,我们将所有要合并到一起的Excel工作簿放到一个文件夹里,该文件夹里面有一个启用宏的工作表,启动该工作表的宏,就可以将该文件夹里面的所有Excel文件的内容合并到一张表里面,后面可以将合并完成后的数据复制或剪切到新的Excel表中。2.代码如下Sub 合并目录所有工作簿全部工作表()Dim MP, MN, AW, Wbn, wnDim Wb As Workb...
2019-06-14 15:54:28
19312
5
原创 VBA-(e健代收)计算代收费用
1.用网抓的方法进行计算费用,首先得创建连接,将所含的参数传入请求,等待响应后将结果取出(split)Option ExplicitFunction mytotal(c, k, g, Z) '根据长款高重量来计算代收费用 Dim strtext As String Dim strurl As String '创建请求对象 strurl = "http://w...
2018-08-11 11:24:37
669
原创 VBA-正则表达式来获取网上数据
以猫眼电影为例1,我们要获得猫眼电影榜单的好看的电影信息,影片名称,主演,以及观看和购票链接,获取后效果如下图所示2.不难看出,我们只需要通过观察网页源代码,然后进行整合提取关键信息,在用正则表达式来截取想要的信息就可以对应的获取相应的信息,具体的代码及解释如下Option Explicit'获取猫眼电影榜单信息Sub getdy() Cells.Clear ...
2018-08-09 09:47:54
1977
原创 VBA-选择文件
Option ExplicitSub 打开文件()Dim fileNameObj As Variant Dim aFile As Variant '数组,提取文件名fileName时使用 '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim filename As String Dim ful...
2018-08-04 11:26:07
4049
原创 VBA-access表信息的获取
1.首先我们来直接获取某个数据库的所有表信息Sub 获取数据库中所有表的名称和类型() Dim i As String Dim mydata As String Dim con As New ADODB.Connection Dim rs As New ADODB.Recordset mydata = ThisWorkbook.Path & "...
2018-07-31 16:10:25
5740
1
原创 VBA-判断数据表是否存在(openschema)
1.首先我们可以学习一下错误捕捉,当数据表不存在的时候,删除数据表就会出现错误,此时就会有错误记录,我们就可以利用本地窗口看到错误的信息Sub 错误捕捉() Dim mydata As String Dim mytable As String Dim con As New ADODB.Connection mydata = ThisWorkbook.Path ...
2018-07-28 11:34:10
4605
2
原创 VBA-数据库创建,数据表创建
1.首先我们要判断数据库是否存在,需要引用一个类“Microsoft ADO Ext.6.0 for DDL and Security”,用其catalog 对象来判断数据库是否存在,如果不存在,直接创建数据库和数据表,如果存在则删除Option ExplicitSub shifuchunzai() Dim con As New ADODB.Connection Dim m...
2018-07-28 10:30:38
7149
原创 VBA-将数据分页显示(listview)
1.首先我们来看一下分页显示的效果2.要想作出分页的效果,必须要用listview控件实现,一般来说在窗体工具箱中并没有这个控件,所以我们要自己添加,打开窗体工具箱,在空白处右键-->附加控件-->选择microsoft listview control,version 6.0-->确定就好了,其使用方法和其他控件的使用方法是一样的,拖动到窗口就可以使用了3.首先...
2018-07-27 11:01:28
6867
1
原创 VBA-一些查询实例(access)
Option ExplicitSub chanxun() Dim con As New ADODB.Connection '声明并创建连接对象 Dim rs As New ADODB.Recordset '声明并创建记录集对象 con.Open "provider=microsoft.ace.oledb.12.0;data source=" &...
2018-07-26 08:43:06
13227
转载 VBA-数据库查询实例
1.首先我们得做一个窗体,其布局和运行效果如下2.我们要理清思路,首先窗体在运行时就应该将部门加载进去,并且将重复的部门剔除掉Private Sub UserForm_Initialize()Set con = New ADODB.ConnectionWith con.Provider = "microsoft.ace.oledb.12.0".ConnectionString...
2018-07-23 11:23:09
9218
原创 VBA-获取网上的资源
用代码实现下载文件,如图片等小文件,如果是大文件的话,速度太慢,不建议用此类方法具体的实现代码如下Option ExplicitPublic Function getimage() Dim strurl As String strurl = "http://p5.so.qhimgs1.com/t0161ac92c369a8cefb.jpg" '下载网址 Dim ...
2018-07-21 19:42:55
1508
原创 vba-网络抓取(get,post)
1.网络抓取有很多种方法,处理也有很多种方法,以下提供一些代码,仅供参考(1)GET获取数据Option Explicit'以快递一百查询快递单号为例'用fiddler 来查看自己想要的链接等信息'GET请求获取数据Public Sub testkuaidi() Dim xmlhttp As Object Set xmlhttp = CreateObject("M...
2018-07-21 10:20:21
26106
11
原创 VBA-正则表达式
1.写好正则表达式,在数据截取处理中是十分有优势的,以下举几个例子来学习一下正则表达式的用法Option ExplicitPublic Function getnum2(str As String)With CreateObject("VBScript.RegExp") .Global = False '全局匹配 .Pattern = "\d+" '正则表达式,匹配数字...
2018-07-19 19:37:23
8309
1
原创 VBA-简单抓取网络数据
1.在Excel中如果能够直接获取网上的数据,是非常便利的,于是在这里以获取标题和链接为例,来介绍一下用VBA实现网络抓取效果如下图所示2.如何实现,具体代码和解释如下Option ExplicitPublic Sub getlist()'将单元格内容清空[a:b].ClearContents'定义网址 Dim strurl As String strur...
2018-07-19 10:14:03
27723
12
原创 VBA-基本的文件操作语句与文件加密(加密dog)
1.基本的文件操作,如重命名,移动,删除,新建,文件大小,具体代码如下所示Option Explicit Sub 演示() Dim strpath As String, filename As String strpath = ThisWorkbook.path & "\" 'filename = "text.txt" 'MsgBox FileLen(strpath & f...
2018-07-15 10:51:08
2294
原创 VBA-二进制文件的读取(仅限小文件)
Sub 二进制读取() Dim filename As String filename = ThisWorkbook.path & "\text.txt" Open filename For Binary As #1 '打开文件,可以对文件进行读写操作 Dim chs() As Byte, i As Integer, k As Integer For ...
2018-07-15 10:02:23
6618
原创 VBA-文件的基本操作(及将文件操作封装成类)
1.首先我们来学习一下基本的文件操作(1)写入代码 Sub print写入() 'Open ThisWorkbook.Path & "\text.txt" For Append As #1'追加写入 Open ThisWorkbook.path & "\text.txt" For Output As #1 '写入的文件每次会被覆盖 Print #1, "谭...
2018-07-14 17:35:17
6479
原创 VBA-批量删除文本框内容(用类实现)
1.首先,我们创建一个类,类里面包含控件个数,并且有相应的方法,具体代码如下Option ExplicitPrivate arr() As MSForms.TextBoxPrivate count As Integer '控件个数'获得文本框个数,将文本框存入数组Sub addcontrol(con As MSForms.TextBox) count = count + 1 ReDim...
2018-07-13 11:11:06
6255
3
原创 VBA-用类实现数组扩容
我们知道数组的长度是固定的,定义了以后不能随意的增加其长度,但是我们可以用类来实现表面上的扩容(即增加数组的存储空间)1.首先我们添加一个类模块,取名为”myarr”并且在里面添加一些方法(比如扩容,查看数组值等)具体代码如下:Option ExplicitPrivate arr() As String '数组 ,用来存储数据Private ilen As Integer '数组长度Private...
2018-07-13 09:34:49
2995
原创 VBA--用类实现组合框联动
1.首先,我们要创建一个类,即添加类模板,记得更改名字,并且在里面添加相应的字段,并且对其字段和对象进行属性约束,其具体代码如下:Option ExplicitPrivate sprovince As StringPrivate scity As Object'属性:省Property Let province(pro As String) sprovince = proEnd Proper...
2018-07-12 11:36:47
3656
原创 VBA--类与对象的简单理解
1.首先我们打开VBA编程的界面,在工程资源管理器中右键添加类模块,并且命名为person,这样我们就创建了一个类2.接下来,我们要在类里面填加字段来保存内容,最好使用的是private,如果使用public所保存的内容就没有约束性Private sname As String '姓名Private sgender As String '性别Private sage As String '年龄3....
2018-07-11 20:07:23
9206
原创 VBA-组合框联动(通过XML进行文件传输)
我们知道,用XML文件传输文件有很多好处,现在我们来做一个简单的小程序--一个省对应它的市在列表中显示出来首先我们得制作一个窗体,具体布局如下图首先我们得有一些基本信息,省市的基本信息然后我们制作一个窗体,布局如运行效果图所示,其次我们得写两个函数,一个是读取XML文件的函数,将XML文件中(市)读取出来,一个是生成XML文件,将Excel表中的内容保存为XML文件(一个省对应一个XML文件),对...
2018-07-11 19:50:12
676
原创 VBA--XML文件的读取与输出
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows, Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。下面我们来学习一下用VBA如何读取XML文件和输出XML文件1....
2018-07-09 13:08:30
17471
原创 VBA-XML的信息提取
1,现有一个XML文件,里面是图书信息,图书的信息由节点保存,内容如下2.将信息提取出来后的效果如下图所示3.完整代码和解释如下Option ExplicitSub 读取XML节点()'后期绑定'Dim xdoc As Object'Set xdoc = CreateObject("MSXML2.DOMDocument")'前期绑定Dim xdoc As New DOMDocument60 '声明...
2018-07-02 17:09:52
2821
原创 vba-access 数据库连接,增,删,改,查
Option ExplicitSub 数据库连接()'告诉电脑,我们要有ado,引用ado'创建连接对象'给对象取名字Dim con As ADODB.Connection '声明对象变量'创建对象变量并赋值Set con = New ADODB.Connection'建立数据库的连接'dim con as new adodb.connection'con.Open "provider=micro...
2018-06-26 09:35:13
19080
1
原创 MATLAB-AHP(层次分析法求解)
%层次分析法,AHPdisp('请输入判断矩阵A(n阶)');A=input('A=');[n,n]=size(A);x=ones(n,100);y=ones(n,100);m=zeros(1,100);m(1)=max(x(:,1));y(:,1)=x(:,1);x(:,2)=A*y(:,1);m(2)=max(x(:,2));y(:,2)=x(:,2)/m(2);p=0.0001;i=2;k=...
2018-06-05 20:01:16
8332
2
原创 VBA-如何用代码打开工作簿
1.代码很简单,只要把文件路径写清楚就好了Option ExplicitSub 打开工作表()Dim wb As WorkbookSet wb = Workbooks.Open("C:/Users/oyq/Desktop/作业/工作簿1.xlsx")End Sub2.其他的工作簿操作Sub 其他作业()Dim w As Workbook'新建工作表 Set w = Workbooks.Add ...
2018-05-21 20:19:28
23711
原创 VBA-窗体程序,制作一个简单的窗口来进行数据的增删改
1.在这里主要以一个人员薪酬表为例子,做简单的增删改等操作,以及快速生成工资条,窗口示例如下2.数据表信息如下3.生成的工资表如下4.详细代码如下'添加员工信息Private Sub CommandButton1_Click()Dim iDim w1Set w1 = Worksheets(1)i = 2While w1.Cells(i, 1) <> ""i = i + 1WendIf ...
2018-05-07 21:23:57
38342
5
原创 Python获取新闻的各个部件
1.获取各个部件的代码如下import requestsfrom bs4 import BeautifulSoupfrom datetime import datetimeres =requests.get('http://news.ifeng.com/a/20180428/57954919_0.shtml#_zbs_sogou_bd')#防止中文内容乱码res.encoding = '...
2018-04-30 21:08:06
467
原创 python爬取新闻标题
1.本文以pycharm为编辑器,爬取搜狐新闻的网页信息2.具体代码如下import requestsfrom bs4 import BeautifulSoupres =requests.get('http://www.sohu.com/c/8/1460')#防止中文内容乱码res.encoding = 'utf-8'soup = BeautifulSoup(res.text,'html...
2018-04-29 19:02:59
6661
3
原创 VBA-Excel重心法求解最优地址
刚刚学习VBA,于是做了一个小运算,用重心法求解最优地址1.做出的模板界面如下图所示,通过点击按钮,就可以计算得到我们想要的结果Option ExplicitSub 2.接下来,我们来看一个具体实例,在空白的数据区域填上我们的数据。然后点击相应的按钮,我们就可以得到我们所需的数据3,不想要迭代的过程,可以直接按“求解”按钮,直接得出结果4.具体代码如下:Option ExplicitSub 计...
2018-04-07 13:26:26
4734
6
原创 VBA-Excel中编写简单的加法运算(示例)
本文中,为大家编写一个简单的加法程序,其他复杂的运算的程序可以以这个为基础来进行编写。步骤如下:1.打开Excel表,注意一定要配置好开发环境,点击“开发工具”在子菜单中选择“插入”,会出现一些控件选项2.我们选择“表单控件”中选择“按钮”控件,然后回到空白的工作区,拖放出一个按钮3.然后会出现一个对话窗口“指定宏”,先我们将“宏名”改成“做加法”,然后我们点击新建,就会进入到代码编写界面4.我们...
2018-04-05 17:15:31
17365
VBA+实现数据快速匹配
2022-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人