自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑的犀牛先生

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

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

原创 EXCEL里的cell() 函数,让你可以像再VBA里使用 range() cells() 那样使用

IF(CELL("type",B9)="V",B9*2,0)IF(CELL("ADDRESS",B14)="$b$14",B14*2,0)

2021-02-05 18:28:42 409

原创 VBA关于声音的多种实现方法

1 在EXCEL里播放声音1如果是64位系统,需要加PtrSafe 关键字,否则不需要 Private Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszName As String, ByVal uFlags As Long) As Long sndPlaySound32(文件参数) 参数这写声音文件的绝对路径就行Privat...

2021-01-31 21:48:55 669

原创 一个EXCEL数组公式的解析

INDEX($A:$A,SMALL(IF($B$1:$B$999=$C1,ROW($1:$999),4^8),COLUMN(A1)))&"" ctrl+shift+enter输出数组公式消化下面的这些公式拆解首先,它是一个数组公式COLUMN(A$1)从F列往右,返回值为1,2,3,4,5,6……序列数,表示匹配到的第几个值ROW($1:$2000)返回1:2000 各行的行号IF($A$1:$A$2000=$E1...

2021-01-30 11:58:51 107

原创 VBA的 随机数 rnd 和 randomize 如何配合使用? 伪随机数带来的问题,根据需要产生不同的随机数!

Sub t1111()Debug.Print RndEnd SubRnd函数在产生随机数的时候,并不bai是真正的随机,而是通过一定的公式计算产生的随机,现在我们把那个计算产生随机数的公式叫做f(x),第一个x取值为1 那么便会产生第一个随机数f(1),第2个随机数是在第一个随机数的基础上产生的即f(f(1)),依次类推,第3个随机数是f(f(f(1))) 不难发现,第一个数1,对于产生的一系列随机数是非常重要的,这个1,我们称之为种子数,一个种子数就对应一系列的随...

2021-01-29 17:32:56 371

原创 EXCEL和公式里的 通配符

EXCEL里通配符Excel 通常有两个模糊搜索通配符:星号"*"和问号"?"。 ?代表一个字符, *代表一个或多个字符,单独的*会代表任意内容 ~* 表示* ~? 表示?EXCEL

2021-01-20 20:26:51 148

原创 一些EXCEL技巧

1 神奇的F41.1 F4 或者 fn+F4,各种改$符号1.2 F4 重复上次的操作重复添加颜色 重复删行 等等2 如何变成每隔1行1个空行? 或 每个1列多1个空列?2.1 如何变成每隔1行1个空行?操作要点 除了第1行不选中,其他每行需要分别选中,而不是全部一次框选!! 如果第1行也选中里,会在前面多空行 如果一次性框选很多行,会导致多行整体下移2.2每个1列多1个空列?同理,这样即可3如何变成每隔1行1个空行+ 跳过...

2021-01-20 18:18:34 48

原创 数组公式和普通公式,差别在于思维方式的不同! 要用看数组的方式看待数据

1 案例1: 查找行里最后1个数值1.1 方法1:用数组公式写着眼于,数组要处理的数据,是哪几个数组数组内是什么样的如何取到这个数组里符合要求的哪个数?={MAX(IF(C7:N7="",0,1)*C$6:N$6)}={INDEX($21:$21,MAX(IF(C22:N22="",0,1)*COLUMN(C21:N21)))}={INDEX($21:$21,MAX(IF(C22:N22<>"",1*COLUMN(C$21:N$21),0)))}1.2 .

2021-01-14 09:38:27 400

原创 VBA里的一些特殊符号在语句内的作用,连接2个或拆分1个语句的符号

_ 2行链接; 不分行: 2行语句连接?stop 停止,查看内存中的断点,否则看不到

2021-01-14 01:33:41 231

原创 VBA 关于数组的index :index的个数, index的初值,index的上下限,index序列

1 数组的不同定义方式,会导致 index的起点不同总结,简单的说,就是VBA里的数值,index默认从0 开始,而从工作表来源的函数,默认index从1开始用VBA的数值array() 或者 dim 或者 redim 这几种方法,默认index从0开始 当然 dim 或者 redim 可以声明从1开始或从其他开始 而从工作表区域赋来的数组,无论是1维还是2维,index都从1开始 [{}] 这种赋值方式,我认为是偏工作表的, 因为 [a1:b5] 就等同于 range("a1;b...

2021-01-14 00:46:52 596

原创 VBA, 变量不赋初值是个坏习惯,系统默认为空值,会导致一些奇怪的问题

1 总结虽然VBA允许,不对变量赋初值,不定义,直接开始使用。但确实不是什么好习惯 模块开头加上 option explicit 吧, 然后,先定义 x=0, y=1 等等 变量没有初值的情况,在第一次数值运算时 会被默认为0 ,x+1=1 但是这样会造成一些,不是预期内的情况,所以要特别注意2 下面的例子对比说明了问题用没有赋初值的写法,给array 赋值,会导致 数组的第一个值为 空 数组的大小,因为只在 dim 和 redim 时决定,比如 dim arr(2,2)...

2021-01-13 21:00:26 104

原创 EXCEL小例子,如何查找多列中,字符串或参数的个数完全相同/相等?

1 目的想检查多列中的 {}参数数量是否相同2 拆解思路多列中的参数个数 {} 其实可以简化为 只查左括号 { 的个数 如何获得{ 的个数,用替代法,把 { 替代为 "" len()-len() 得出的长度差即为特殊符号 {的个数 判断多列的内容,全都是相同的个数3 每个要查的列的公式,可以往右拖公式LEN(A7)-LEN(SUBSTITUTE(A7,$M7,""))4 查错列的,比较公式IF(MAX(O7:X7)=MIN(O7:X7),TRU...

2021-01-13 17:50:50 128

原创 用VBA做一个儿童识字,数字考察游戏(持续更新中)

如何让孩子觉得有意思呢?促进学习

2021-01-13 00:00:19 152 3

转载 VBA与windows的API调用,比如GetKeyboardState

VBA可以调用很多windows的API,但是需要提前声明 64位的聲明要多加一個關鍵字的 Declare PtrSafe Function 增加PtrSafe即可 #...

2021-01-12 09:31:46 279 1

原创 EXCEL做俄罗斯方块的详细步骤

准备尝试一下,学习

2021-01-10 20:20:21 106

原创 EXCEL数组公式(6),注意聚合函数在数组公式中的用法

总结聚合函数,尽量不用再数组公式组 如果需要用,尽量只用在最外层 如 {sum()} 没问题 用在里层很可能会出错 ,比如 {sum(and())} 一般都是错的 为什么呢,因为 and()这种聚合函数只能返回1个值,破坏了数组公式每步都要按数组计算的原则!和计算过程!1 普通函数/公式里有一类是聚合函数上次数组公式里的函数分类里说到了2中 普通函数/公式(1)部分能处理数组的普通函数,但只会返回数组的第1个数还要注意一些细节 rows() 返回行数,是一定不能用于...

2021-01-08 14:00:02 124

转载 [转载] 最近收集得一些EXCEL vba套路,持续更新

https://www.excelhome.net/lesson/animation/excel/1870.html常用套路:=INDEX(C:C,ROW(A1)*2)=LEFT(C2,LENB(C2)-LEN(C2))用LENB计算结果减去LEN计算结果,就是字符串中的双字节字符个数。https://www.excelhome.net/lesson/animation/excel/1945.htmlhttps://www.excelhome.net/lesson/anim...

2021-01-08 11:20:06 54

原创 EXCEL数组公式(5):数组公式行列式的计算,像在复习初中数学

总结行数的结果 if or(区域A的行数,区域B的行数) =1 结果的行数rows = max(区域A的行数,1) 或rows = max(1,区域B的行数) if and(区域A的行数,区域B的行数)>1 结果的行数rows = ...

2021-01-07 22:19:05 53

原创 EXCEL数组公式(4) : 用例子比较数组公式和非数组公式,发现数组公式 {} 写法的本质在于:每个步骤都会按照 数组去计算

if(含数组) 和 {if(含数组)} 的差别if(含数组) 就是两者中间每步是把数组转为单个值 {if(含数组)} ,每步都用数组计算IF(B$4:B$12=E$4,ROW(B$4:B$12),FALSE)

2021-01-06 22:03:39 187

原创 EXCEL 图表相关(未完成)

1数据的排序需要从上到下,否则曲线图从左到右对应不上按从小到大排序,比如日期2 主坐标轴,次坐标轴3 一个图形里2种图像,可以选择4 趋势线5

2021-01-06 10:53:31 36

原创 EXCEL 名称和名称管理器

1 创建名称的2种方法1.1 选中多个单元格后,在fx左边的空白栏目输入 名称,然后点确定1.2 选中多个单元格户,定义名称/ 定义名称/ 新建2 查看名称管理器可以查看所有的名称3 名称管理器的应用3.1 直接引用3.2 数据 / 数据有效性 / 序列 =城市...

2021-01-06 09:29:05 122

原创 EXCEL2016版本的三维地图试玩...

1 数据表2 功能入口显示效果1显示效果2显示2维数据表还可以像视频一样演示主题 场景选项可以设置

2021-01-05 21:53:38 234

原创 EXCEL 查看所有公式和公式的帮助

按下 ALT 会显示菜单快捷键

2021-01-05 20:55:02 51

原创 EXCEL公式相关的调试的方法

1 数据公式表2 公式调试的最好方法,没有之一按F9,选中一部分,会出现结果 可以逐步查看结果2 第2好的方法,点击 公式/公式求值也可以逐步查看 要注意:求值,步入,步出区别步入和步出,暂时没发现用处3 所谓的查箭头4 公式的监视窗口暂时没啥用错误检查---可以用来追踪错误比如要查哪个单元格循环引用了循环引用...

2021-01-05 20:53:26 63

原创 VBA,shape的移动 shape.incrementLeft 和 shape.incrementTop

实现移动Sub ftest11()Dim p1 As ShapeDim t1 As DoubleSet p1 = Worksheets("sheet7").Shapes.AddShape(msoShapeOval, 100, 100, 200, 100) p1.Fill.ForeColor.RGB = RGB(0, 0, 250)With p1.ThreeD .Visible = True .Depth = 100 .ExtrusionColor.RG...

2021-01-02 22:09:35 230

原创 VBA的shape相关的旋转rotation,包括3D旋转 .threeD.incrementRotationX() 和 .threeD.incrementRotationY()

1 shape的旋转相关方法shape.incrementRotation() '绕Z轴旋转,也就是垂直于屏幕(的Z轴)旋转 shape.incrementRotationZ() shape.incrementRotationX() ' 很多形状并不支持,需要3D的才支持 shape.incrementRotationY() shape.Rotation()2 围绕Z轴的旋转(垂直于屏幕的旋转,切面的平面旋转)shape.incr...

2021-01-02 20:04:32 166

原创 VBA,Shapes.AddCurve SafeArrayOfPoints:=pts  画贝塞尔曲线

1 Shapes.AddCurve SafeArrayOfPoints:=pts 贝塞尔曲线https://docs.microsoft.com/zh-cn/office/vba/api/excel.shapes.addcurve 由指定曲线的顶点和控制点的坐标对组成的数组。您指定的第一个点是起始顶点, 接下来的两个点是第一段贝塞尔线段的控制点。该曲线每增加一条线段,就要为其指定一个顶点和两个控制点。您指定的最后一个点是曲线的结束顶点。请注意,必须指定的点数始终为 3n + 1...

2021-01-02 19:53:45 155

原创 VBA 关于shape相关,图形,形变,变色,旋转效果。shapes.addshape (msoAutoShapeType)的属性,方法等

先展示下今天做的效果按钮1:绑定start1() 按钮2:绑定stop1() 文字旋转效果 图形,形变,变色,旋转效果 四角星是插入的图形,文字是插入的艺术字(选择图形效果--选形状)对应的代码Private switch1Sub stop1()switch1 = FalseEnd SubSub start1()Dim p1, p2 As ShapeSet p1 = Worksheets("sheet1").Shapes(1)Set p2 = Workshe...

2021-01-01 22:13:36 1055

原创 EXCEL,神奇的lookup()函数

lookup()无比强大,也相当麻烦 最大的优势:返回的是符合条件的最后1个数据 据说原理是二分法查数据-----------我现在没搞懂 lookup() 中间过程会用到序号(绝对的或相对的) LOOKUP(H5,B9:B28,D9:D28) LOOKUP(H5,B:B,D:D)lookup() 使用注意点需要用lookup() 查询的时候,要查询的数组,必须是升序的。(目标数组可以不用),如果不是升序,会出现错误 如果lookup() 数据升序,且查不到目标值,不...

2020-12-24 20:14:14 92 1

原创 EXCEL,如何进行查找,单条件和多条件查询

1 EXCEL查找数据的基础方法:菜单crtl+F 查找 注意:查找数据,查找公式 注意:查找下一个 查找全部 注意:查找,查找全部 替换功能 筛选功能2 查找数据可使用公式2.1 先看单条件查询,可能出现的结果(提前考虑你的函数要返回什么样的结果,会报错么?)单一条件查询包含下面3种情况 情况1:存在0个符合条件得数据,查不到的情况: 要考虑函数的返回值时什么?返回最后一个还是报错? 情况1:存在有1个符合条件得数据 情况2:存在有多个符合条件得...

2020-12-24 18:18:56 295 1

原创 EXCEL数组公式(3)---数组公式的基础应用,理解数组公式

不用数组公式的情况一般情况,也可以计算 比如用普通公式,逐个计算,然后再计算 少数公式有类似数组公式的效果,比如sumproduct() 但有些情况下,不用数组公式,想用普通公式很麻烦的算都是很困难的第1类数组公式:(多个单元格绑一起,感觉很少情况下才需要这么用)选择多个单元格后,在编辑栏,只输入一个公式 需要用 shift ctrl enter联合输入 这种数组公式,不能单独修改其中1个单元格的内容,必须选择全部相关单元格后,一起修改 第2类数...

2020-12-23 15:37:36 126

原创 EXCEL公式,不要盲目的引用整列,部分列。需要根据是 行号还是相对行序号决定

1绝对行号和相对的行序号1.1用match()可分别做到match()函数可以取行号,如果查找范围是e:e这种整列 match()函数可以取的是相对范围内的行序号,如果查找范围是e8:e27这种整列1.2 index() 也可以而index()函数也可以根据选择的是整列,还是部分列,用绝对行号和相对行序号1.3 indirecet() 不可以但是 indirect()函数,因为是indirect( "") ,所以只能用 全列和绝对行号 2因此函数复用的时候,要注...

2020-12-23 11:24:18 167 1

原创 VBA 关于for循环和变量的测试, for 循环的自变量i会停留在i+1,自变量会基于最新变化改变

1 for循环的自变量i会停留在i+1for循环结束后,如果继续查看i 会发现i 会停留在i+1, 但不会停留在i+1之外更大的数字Sub test14()For i = 1 To 10 '循环结束会挪到下一个i,且停住! Debug.Print iNext Debug.Print i Debug.Print i Debug.Print iEnd Sub2 for循环的自变量i会一直往前走for循环中,如果自变量被改变了,自变量会接...

2020-12-21 21:57:06 154

原创 VBA: 因为1个简单时间clock引发得一连串问题, application.ontime 不会自循环,而 call 自身或者 go label则会真的自循环。

网上看到一个Sub clock0() Range("a1").Value = Time() testcount0End SubSub testcount0() Application.OnTime Now() + TimeValue("00:00:01"), procedure:="clock0"End Sub

2020-12-21 21:28:09 185

原创 VBA 如何用VBA控制,开启,激活其他非VBA程序?

AppActivate title , [ wait ]https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/appactivate-statementAppActivate 语句语法具有下列命名参数:title 必需。时间 可选。 毫秒?特点:这个是激活已经启动的程序,而不会自动开启程序这里的title需要以 字符串的形式 “” 出现,并且支持模糊查找,多个只会任意激活1个。

2020-12-20 17:25:00 410

原创 EXCEL的自动转化功能需要注意,别被EXCEL给你自动改错了,另外字符和数值如何互转?

1 凡是为blank的地方,EXCEL也认为是可以被认为为""。反之不成立要注意这样函数返回的是0,而不是blank 也不是""2 文本型的数字,虽然类型是文本,但是可以直接当文本计算。也是反之不成立这些文本型数字是左对齐的利用方法:这些内容 +0 就直接变为数字了3 EXCEL会对>=12位的数字,自动变为科学计数法,所以要注意比如输入身份证号,就单元格格式为文本,或者身份证前加 ’...

2020-12-20 12:06:12 66 1

原创 关于EXCEL的空 isblank( ) 和 ““ ,对比 VBA里的0,““,null 和nothing

EXCEL的真正空值是 blank,只能用=isblank() 来判断但是EXCEL里真正用到 blank的地方很少。大多数情况下只需要判断 if(A1="",) 即可。另外EXCEL的内置函数一般不能返回空值,EXCEL文档这里不好编辑,我贴了我自己文档的图片如下总结的结论如下凡是为blank的地方,EXCEL也认为是可以被认为为""。反之不成立就像文本型的数字,虽然类型是文本,但是可以直接当文本计算。也是反之不成立函数无法返回真正的blank,但是可以返回""比如EXCEL的直接.

2020-12-20 11:57:55 247 1

原创 EXCEL公式查找重复和去重

先贴表  查第几次出现 只保留第1次出现得值-去重?   查目标出现次数 查目标是否重复 查非空个数         countif   counta 100 1 a a 6 重复 13 1001 1 b b 3 重复 ...

2020-12-17 10:07:40 68

原创 EXCEL基础操作:隐藏,冻结,查找(搜索),锁定,保护

总结区别隐藏:蓝色选中部分,是这样的小而短的 浅灰色加粗线 查找:红色选中部分,是这主要黑色的粗粗线 冻结:紫色选中部分,是长而细的黑色实线1隐藏和取消隐藏隐藏是这样的小而短的灰色加粗线1.1 隐藏行/取消隐藏行选中多行,才会隐藏行,和取消隐藏行1.2 隐藏列/取消隐藏列同上差不多 不过是操作列 选中多列,才会隐藏列,和取消隐藏列1.3 全选表的情况下--点左上角无法隐藏和取消隐藏选中全表,CTRL+A 全选后,如果选择左上角是无法隐藏和...

2020-12-14 21:50:26 93

原创 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 490

原创 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 442

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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