自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑的犀牛先生

自学编程的中年大叔--男人至死仍少年--人的一切痛苦本质上都是对自己无能的愤怒

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

原创 VBA练习例子:把指定的多行数据,生成一行数据

需求和目的自己写的可以把指定的多行数据,生成一行数据(1) 需要可以把不同的EXCEL段的,多个ID+数量,结合起来生成一个字符串数组输出(2)为什么不用公式,而用VBA,因为需要让表中的行可以随便剪贴调整,EXCEL公式会追踪 行列,一旦操作行等就会乱(3)我加了一个标记位,Q列上,必须有S的标记的,才会去搜索 S.row+1 这部分行的数据(4)要求分段,每次只能找 S.row+1下面的一定行代码主要处理sub 函数1:通过 s.row+1 找到l1对应...

2020-06-23 09:26:00 274

原创 EXCEL,使用连接符时,改变了原来的显示格式,如何保持原格式的问题----用TEXT() 指定显示格式

群里有人求助的问题 目标列1 目标列2 -34% 845 642 -32% -0.34|-0.32 直接效果 -11% 0.1 0.09 -11% -11.00%|-11.00% 想...

2020-05-15 08:59:34 204

原创 VBA,将EXCEL的2维数据表转为1行或1列(待优化)

问题和原始数据目的:做EXCEL经常需要把EXCEL表内容(XY2个维度)转为1行或1列 考虑写个小工具,以后可以常用输出行输出列代码1(开始前未做清除,需要手动清除)Sub export_row1()maxr1 = Range("c65535").End(xlUp).Rowmaxc1 = Cells(1, 3).End(xlToRight).Columnk = 1For i = Cells(1, 3).Row To maxr1 ...

2020-05-15 08:40:39 150

原创 EXCEL,如何对日期按间隔3天进行规律分组

目的,以3天范围为一组思考步骤 date可以直接相减 然后获得取差,差/3 int(差/3) ,也就是整除时,进位1 =1+INT((B3-B$2)/3)

2020-03-23 15:25:12 275

原创 VBA, 用VBA做的窗体和音乐,图片资源能打包可执行文件吗?比如EXE

目的: 用VBA做的窗体和音乐,图片资源能打包可执行文件吗?比如EXE现在没有找到很合适的方法 网上说法一般都是要VB6,我也没装过VB,也不想那个。。。有那时间不如学python去,尴尬 VBA是因为和EXCEL绑在一起了1 暂时比较凑合的方法:让用户打开EXCEL马上显示窗体。EXCEL的open事件 直接显示窗体,并且隐藏applicationPrivate ...

2020-03-20 10:53:58 144

原创 【原创】VBA, 用VBA写了一个简单的音乐播放器shell

目标:(现在的2个版本都觉得不太好,需要改进)主要目的为了实现,选歌 根据歌曲进度显示歌词 添加歌曲---计划以后做 下面是UI和歌词数据表1 版本1:需要双击切换歌曲1.1 功能实现,选歌 实现,根据选歌,更换小图,更换背景,播放音乐 实现,根据选歌,滚动显示歌曲名,根据歌曲节奏播放歌词(只有起风了歌词节奏对过)1.2 局限性需要双击...

2020-03-20 00:02:02 214

原创 VBA, 如何实现文本滚动的效果?

VBA, 如何时间文本滚动的效果?一般来说,从左向右或从右向左的走马灯效果比较常见 还想做一下,上下滚动的效果 这个我自己完全没思考,网上查了很多实现方法,学着实现下Private Sub Label1_Click()End Sub'------------------走马灯------------------------------Pri...

2020-03-19 09:55:30 332

原创 VBA, 时间的加减乘除运算: 时间的减法需要用 cdate() 转下,时间的乘除好像意义不大

今天做延时显示的时候,用到了时间的运算总结下时间做加减乘除的运算规则和意义看起来时间只适合加减,不适合乘除 时间的加法:直接加,会自动进位为 秒,分,小时 时间的减法,结果是doble类型,要转为时间显示,必须用cdate()转 时间的乘法:只有个除法的意义,得出的数就是double相除 时间的除法:只有个除法的意义,得出的数就是double相除Sub xxx1()...

2020-03-18 21:16:34 684

原创 VBA,如何做出一个延时执行,且能动态显示延时的秒数呢?

问题:想做出延时执行的效果,同时还显示了经过的时间1 简洁版代码代码Sub test200e() time0 = Timer() For i = 1 To 10 time1 = Timer() Debug.Print i Do Worksheets("sheet4").Labels("la...

2020-03-18 15:53:26 513

原创 VBA,时间相关,now() date time() timer() 和时间格式化 ( 未完成),以及1899-12-31 时间负数

1 有3个常用时间函数 now() ,date,time()本质上 now()=date + time() now() 包含完整的日期+时间,date是日期和 time() 是时间 如果把时间转为 double 类型,就可以看出 整数部分就是 date ,而小数部分就是 time()Sub daojishi11()Debug.Print Now()Debug.P...

2020-03-15 14:19:56 499

原创 VBA,实现延时自动执行的各种方法

2.1 时间延迟的方法需要加载新的库,Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) sleep 毫秒数Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Declare Sub Sleep Lib "ke...

2020-03-15 09:59:07 1881

原创 VBA,表单及其控件,如何取得表单控件的名字,大小写注意

1 如何取得表单控件的名字?1.1 问题的由来表单控件和表单的 activeX控件,以及窗体控件不同 表单控件不能直接编写其相关代码,也看不到其属性栏 但是可以直接绑定一个sub 但是问题来了:如何知道表单控件的名字,方便在VBA里设置其属性呢?1.2 所有的表单控件都属于shapes,下面还有子类 scrollbars ,buttons 等对象集合work...

2020-03-14 22:01:27 688

原创 VBA,窗体和控件的动态效果之一:scrollbar如何实现自动效果

之前只学习了窗体的静态效果 现在考虑 窗体和控件的动态效果srcollbar如何实现自动效果Sub Macro2()'' Macro2 Macro' 宏由 MC SYSTEM 录制,时间: 2012-2-4'' Selection.Verb Verb:=xlPrimary ActiveSheet.ScrollBars.Add(198, 118...

2020-03-14 17:36:07 569

原创 VBA,如何使用类msgbox的效果,但是让窗口过几秒自动关闭? (未完成)

1 Scripting Host(WSH)的Popup方法--测试不好用?不知道为啥测试不好用 测试情况,也不能显示倒计时秒数,Sub test_sample1()'Scripting Host(WSH)的Popup方法。Dim w1 As ObjectSet w1 = CreateObject("wscript.shell")w1.popUp "3秒自动关闭", ...

2020-03-14 10:59:59 1207

原创 VBA,关于commandButton和toggleButton的应用,如何让button 只能多选1,如何让button 有多种状态(未完成)

commandbutton 如何可以用多个状态?一般来说 UI上按钮一般,有按下,未按下,经过 等多种状态判断 并且可以根据不同状态做外观的改变,大小颜色等等toggleButton 如何能多选1?https://zhidao.baidu.com/question/1959498440279009900.html...

2020-03-14 10:36:47 385

原创 VBA,如何给listbox设置多列数据 (未完成)

listbox 如何指定多列内容 ?没有columnSource 属性 只有columncount属性 可以在rowsource指定一个区域 设置列宽度,sheListBox1.ColumnWidths = "50;100;50" '实测用两种分隔都可以 "50,100,50"Private Sub UserForm_Initialize...

2020-03-14 10:04:29 1888

原创 VBA,窗体和窗体内的控件大小的自动适配(未完成)

1如何让控件,自适应窗体的大小?Option ExplicitDim w, hPrivate Sub Form_resize()Dim bilih, biliw, ibilih = Form1.Height / hbiliw = Form1.Width / wFor i = 0 To 2Text1(i).Top = Int(bilih * Text1(i).To...

2020-03-14 09:58:39 258

原创 VBA窗体与音乐播放(未完成)

方法1:在窗体上添加 medieplayer控件窗体的默认控件里没有 音乐控件,需要添加 mediaplayer工具栏上邮件:添加 找到 microsoft mediaplayer音乐控件的播放播放音乐的属性 播放器.url 播放器.controls.play WindowsMediaPlayer1.URL = "C:\...

2020-03-13 20:35:03 129

原创 VBA,窗体相关的一些问题: frame背景设置为透明需要用API

1 frame如果想设置为透明,但是上面的内容是可见的。frame 本身没有设置 backstyle 属性 如果设置 frame.visible=false ,则整个frame和上面的内容都会不可见如果form本身没有图片背景,只带颜色,那么 Frame2.BackColor = Me.BackColor 如果form 本身带了图片背景,那么要设置 frame 为透明的,...

2020-03-13 20:29:56 508

原创 VBA,一些基本的系统常用空值关键字辨析:nothing, empty ,null,以及错误值关键字 error的辨析

一 VBA常用的系统空值关键字:nothing ,empty ,null1.1 三者区别empty 有效的空值,如0 "",比较常用 null 无效的控制,比如二选一之外的空 nothing 对象变量的空值, 语法是 object is nothing 而不是用 =nothing1.2 emptynull not...

2020-03-13 12:25:41 458

原创 VBA,使用find() 和 match() 进行查找时,可能出现的各种错误(我犯的各种错误总结)

最近因为在窗体里要做对工作表sheet的操作,出现了各种低级错误我逐一在这总结下,希望自己反思,并以后引以为戒数据源1 正确的代码Sub test5032()Dim a As Rangein1 = InputBox("请输入一个电影名")Set a = Range("a1:a15").Find(in1)If a Is Nothing Then Ra...

2020-03-12 11:09:06 1477

原创 VBA,判断数据类型的相关函数----修改

1 使用TypeName()函数typename() 函数 可以直接获得不同对象的 数据类型 如下的例子Private Sub CommandButton3_Click()'增加记录按钮,输入Range("B15") = TextBox1.TextRange("B16") = TextBox1.ValueRange("B17") = TextBox1Debug.Pr...

2020-03-11 16:24:05 361

原创 VBA窗体控件初接触(4):跟着书学常用控件的功能实现

我学到现在才发现控件分类不是我开始以为的表单控件传统表单控件 ActiveX控件(activeX并不能直接用到窗体,和窗体的事件也略有不同,比如getfoucs,窗体里是enter等)窗体窗体控件代码设置优先级更高,尽量少用属性栏,而是用代码设置,很多属性,既可以在属性栏设置,也可以 除非一些属性,代码几乎不会用到 或者一些麻烦的属性,比如pictur...

2020-03-10 09:04:52 355

原创 VBA如何设置窗体form背景 和窗体中的鼠标/光标的外观,设置 mouseicon注意点

1 设置form的背景图1.1 设置背景图picture的属性picture picturealignment '试了下默认center居中,还有topleft等4个角对齐选择。 picturesizemode '默认是clip截断(原尺寸),zoom...

2020-03-07 11:58:44 573

原创 VBA窗体控件初接触(3):跟着书学习窗体和控件的基本功能

1 窗体 form1.1创建窗体 form (默认名:userform)和插入模块一样,插入用户窗体即可1.2 如何运行/显示 窗体?1.2.1 显示窗体的代码方法据说,单写一句 userform1.show 也是可以的,因为VBE会自动先 load 这个窗体 load form1 '加载窗体,加载到内存,但不显示 form1.show '显示窗体 (必须...

2020-03-05 15:52:51 466

原创 VBA的表单控件初接触(2):ActiveX控件的基础功能和基础代码

第1类:button ,option ,checkbox ,togglebutton ,分组框一组togglebutton中会始终有一个是按下去的状态 如果是一组commandbutton就全部都始终都是弹起的状态1.1 togglebutton 切换按钮/ 互斥按钮1.1.1基本用法首先是,togglebutton应该有多个,并且这多个逻辑上是一组的 基本功能就...

2020-03-02 10:23:13 780

原创 VBA表单控件初接触(1):对控件的基本认识

以下内容有可能错误很多,先写了,后面再更正1 控件1.1 控件种类EXCEL,这个VBA的application的包含内容 第1层 :workbook 第2层:worksheet ,window, chart ,form(用户窗体)--userform表单控件: 表单就是worksheet,也就是可用在worksheet上的控件 并且不能用在form上 功能老,功...

2020-03-01 16:51:12 555

原创 VBA里的文本函数 find() search() substitute() replace() match() large() 在EXCEL工作表使用和VBA中使用差别的对比

3.1 find()语法Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)find()一般是为了查询结果,返回的是找到的对象 rangeSub test301()Dim a As Object 'find返回的应该是 ra...

2020-02-25 09:34:15 1348

原创 VBA使用方法或调用函数/过程时传递参数,加不加括号的问题

语法等同??ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xlsm" ThisWorkbook.SaveCopyAs (ThisWorkbook.Path & "\" & ActiveSheet.Name & "...

2020-02-23 08:58:07 1187 1

原创 VBA,工作簿workbook相关操作,workbooks.add workbooks.save workbooks.saveas 等等

1 Workbooks.Add 方法1.1 语法新建一个工作表。新工作表将成为活动工作表。 语法 表达式.Add(Template) 表达式 一个代表 Workbooks 对象的变量。 参数 名称 必选/可选 数据类型 说明 Template 可选 Variant 确定如何创建新工作簿。如果此参数为指定现有 Microsoft Excel 文件名的字符串,...

2020-02-22 07:23:38 2143 1

原创 VBA,群里的问题,如何单独只保存1个sheet,而不是保证整个工作簿workbook?

问题12 代码'单独一个sheet文件存在问题'ActiveWorkbook.SaveAs Filename:="C:\A\" & 文件名 ".csv", FileFormat:=xlCSVSub 导出csv()Dim str1 As StringDim sh1, sh2 As WorksheetDim p...

2020-02-20 19:57:16 338

原创 VBA,如何把一个n*n的矩阵逆时针旋转?我理解是区域的转置

Sub test_tranp1()Dim r1 As RangeDim arr1Dim arr2()arr1 = Range("a1:b8")'ReDim arr2(UBound(Selection, 2), UBound(Selection, 1))ReDim arr2(LBound(arr1, 2) To UBound(arr1, 2), LBoun...

2020-02-20 18:11:23 195

原创 VBA,群里的求助,把多行的数据汇总(类数据透视表功能的VBA代码),已经一些常见报错排除

1 群里有人提问求助1.1 原始问题和报错1.2 拿到他的原始代码Sub 多列汇总() Dim l(1 To 1000, 1 To 4) Dim arr, 行数 Dim x, k As Integer Dim d As New Dictionary arr = Range("q1:t" & Range("t65536").En...

2020-02-16 09:28:48 258

原创 VBA,EXCEL数组公式所谓的万金油套路, index() + small() + if() 套路,也可以用数据透视表实现,或VBA实现

1 使用数组公式1.0 感想,这些公式都需要太多小技巧了,很麻烦 公式这么复杂, 用了很多奇怪技巧后对非专职研究EXCEL的人来说失去意义了 一般人能这么做,也就是写成一个工具表后,平时很少改了, 不实用了,实用性不如用 透视表,或VBA 1.1 公式从内层逐层解析IFERROR(INDEX($A$2:$A$14,SMALL(IF($C$2:$C$...

2020-02-15 15:10:56 480

原创 EXCEL数组公式,求多条件下的中位数的实现方法和注意点

注意EXCEL中位数问题中位数,奇数个还是偶数个不能用and的原因两种方法

2020-02-15 10:24:09 3065

原创 EXCEL如何直接sum() 或 average() 一些存在错误值的列?

比如,这个例子包含 错误值SUMIFS(B:B,A:A,D1,B:B,"<9E+307")http://club.excelhome.net/thread-1373195-1-1.htmlhttps://jingyan.baidu.com/article/574c52196c374b6c8d9dc1e8.html公式的难点是9E+307可以理解为九乘十的三...

2020-02-14 23:58:02 252

原创 EXCEL公式,引用的文本,数字,什么情况下需要加引号"" 什么时候不需要加?

1 以countif() 函数用法为例子文本还是应该是字符串格式 不加虽然查不出,居然不报错数字加不加""两者效果一样,是因为isnumeric()? 也就是 数字,或数字型的字符串都可以 但EXCEL里只有isnumber() 没有isnumeric()?2 有些函数引用内容好像必须加引号""的? 除了单元格的可以不加...

2020-02-14 23:54:09 1078

原创 EXCEL数组公式,群里求助的问题,按条件查最大值,中位数等, 可用数组公式解决

1问题 QQ群里的提问2 解决需要用数组公式3 实际上数组公式我不太懂(下面是百度到的,稍后学下)https://baijiahao.baidu.com/s?id=1610563904907045859&wfr=spider&for=pc=IFERROR(INDEX($A$2:$D$21,SMALL(IF($C$...

2020-02-12 16:07:29 188

原创 VBA如何快速查找一个区域的右下角的那个单元格? 4种方法的比较

方法1,range().specialcells()" a1是sheet中的任一单元格,specialcells会在全sheet查找" 即 sheet 中不只这一个唯一区域时,这个方法不好用。但查全表的所有区域,很简洁好用"Sub test81()'取某个区域最后一个单元格的方法(右下角的cell)m1 = Range("a1").SpecialCells(xlCel...

2020-02-12 11:41:10 724 1

原创 VBA,群里求助的问题,代码没看懂,和数据有关系,和改进代码

原始问题我测试了下,确实显示越界 但和表上数据还有关系,改表数据,会出现其他地方越界 Sub t3()Dim arr, tDim x, x1 As IntegerDim str, str1 As String 清空颜色 t = Timer arr = Range("d2:d" & Range("d65536").End(xlUp).Row)...

2020-02-11 14:17:45 94

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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